首頁  >  文章  >  後端開發  >  harry potter and the deathly h php方法呼叫模式與函式呼叫模式簡例

harry potter and the deathly h php方法呼叫模式與函式呼叫模式簡例

WBOY
WBOY原創
2016-07-29 08:46:501090瀏覽

現有某函數與物件如下:

複製程式碼 程式碼如下:


var doubling=function(x){
return x*2;
}; };


函數呼叫模式時,this被綁定到全域物件。這種情況在物件的屬性與方法被初始化時也能夠得到反應。現為ojb補充如下:



複製程式碼

程式碼如下:var obj={val:100,

prop:function(){

var that; '+that+'; type: '+typeof(that)+'
');
return doublling(that.val);
}(),
get_prop:function(){
var that=this;
get_prop:function(){
var that=this;
document.write('name: '+that+'; type: '+typeof(that)+'
');
return doublling(that.val);
},
};


prop使用一個被執行的匿名函數,期望取得所在物件的val值被函數呼叫模式的doubling()運算的結果;而get_prop為方法呼叫模式。

腳本載入的時候,obj的屬性prop初始化時,語句"name: [object Window]; type: object"輸出,使用obj.get_prop()時,語句"name: [object Object]; type: object"輸出。前者顯示函數體的"this"為全域變數window,後者如所期待的為obj本身。
可以檢查屬性prop和方法get_prop()的回傳值,前者對window物件進行乘法運算,傳回NaN,後者等於200。
在obj字面量表達式之外,期望設定new_prop屬性和new_get_prop()方法,結果將與前文一致,方法呼叫模式才會獲得this對本身的綁定。
以上就介紹了harry potter and the deathly h php方法呼叫模式與函數呼叫模式簡例,包括了harry potter and the deathly h方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn