5
Wie implementiert jQuery das verzögerte Objekt, so dass der Operator new
optional ist, wie in var x = $.Deferred();
?jQuery.Deferred() - "neue" Operator ist optional?
Wie implementiert jQuery das verzögerte Objekt, so dass der Operator new
optional ist, wie in var x = $.Deferred();
?jQuery.Deferred() - "neue" Operator ist optional?
Hier ist ein Muster, das zu erreichen ...
$.Deferred = function() {
if (! (this instanceof $.Deferred)) {
return new $.Deferred;
}
}
Es funktioniert, weil this
in einem Konstruktor auf das neue Objekt gesetzt. instanceof
wird Ihnen sagen, ob der LHS-Operand den RHS-Operanden in seiner Prototypkette hat. Wenn diese Bedingung nicht erfüllt ist, gibt die Funktion eine instanziierte Version des Objekts zurück.
Große Erklärung, danke! – Kay