Heim  >  Artikel  >  Backend-Entwicklung  >  Ein einfaches Beispiel für den PHP-Methodenaufrufmodus und den Funktionsaufrufmodus

Ein einfaches Beispiel für den PHP-Methodenaufrufmodus und den Funktionsaufrufmodus

高洛峰
高洛峰Original
2016-11-30 13:48:281417Durchsuche

Der Code lautet wie folgt:
var doubling=function(x){
return x*2;
var obj={
val:100,
};

Im Funktionsaufrufmodus ist dies an das globale Objekt gebunden. Diese Situation kann sich auch widerspiegeln, wenn die Eigenschaften und Methoden des Objekts initialisiert werden. Fügen Sie nun Folgendes für ojb hinzu:
Code kopieren Der Code lautet wie folgt:
var obj={val:100,
prop:function(){
var that=this;
document .write( 'name: '+that+'; type: '+typeof(that)+'
');
return doubling(
}(),
get_prop: function(){
var that=this;
document.write('name: '+that+'; type: '+typeof(that)+'
'); 🎜>return doubling(that.val);
},
};

prop verwendet eine anonyme Funktion, die ausgeführt wird und erwartet, das Ergebnis der doubling()-Operation des val-Werts zu erhalten des Objekts im Funktionsaufrufmodus; und get_prop ist der Methodenaufrufmodus.
Wenn das Skript geladen wird und das Attribut prop von obj initialisiert wird, wird die Anweisung „name: [object Window]; type: object“ ausgegeben. Bei Verwendung von obj.get_prop() wird die Anweisung „name: [object Objekt]; Typ: Objekt“ wird ausgegeben. „Ausgabe. Ersteres gibt an, dass „this“ im Funktionskörper das globale Variablenfenster ist, und letzteres ist erwartungsgemäß obj selbst.
Sie können den Rückgabewert des Attributs prop und der Methode get_prop() überprüfen. Ersteres multipliziert das Fensterobjekt und gibt NaN zurück, und letzteres ist gleich 200.
Zusätzlich zum obj-Literalausdruck wird erwartet, dass das Attribut new_prop und die Methode new_get_prop() festgelegt werden. Das Ergebnis stimmt mit dem vorherigen Artikel überein und der Methodenaufrufmodus erhält die Bindung an sich selbst.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn