5
In che modo jQuery implementa il suo oggetto rinviato in modo che l'operatore new
sia opzionale come in var x = $.Deferred();
?jQuery.Deferred() - l'operatore "nuovo" è facoltativo?
In che modo jQuery implementa il suo oggetto rinviato in modo che l'operatore new
sia opzionale come in var x = $.Deferred();
?jQuery.Deferred() - l'operatore "nuovo" è facoltativo?
Ecco uno schema per raggiungere tale ...
$.Deferred = function() {
if (! (this instanceof $.Deferred)) {
return new $.Deferred;
}
}
Funziona perché this
in un costruttore è impostato per il nuovo oggetto. instanceof
ti dirà se l'operando LHS ha l'operando RHS nella sua catena di prototipi. Se questa condizione non è vera, la funzione restituirà una versione istanziata dell'oggetto.
Ottima spiegazione, grazie! – Kay