首頁 >後端開發 >php教程 >php方法呼叫模式與函數呼叫模式簡例

php方法呼叫模式與函數呼叫模式簡例

高洛峰
高洛峰原創
2016-11-30 13:48:281470瀏覽

程式碼如下: 
var doubling=function(x){ 
return x*2; 
}; 
var obj={ 
val:100, 
};綁定到

。這種情況在物件的屬性與方法被初始化時也能夠得到反應。現為ojb進行補充如下: 
複製碼 程式碼如下: 
var obj={val:100, 
prop:function(){ 
var that=this; 
document.write('name: '+that+' that=this; 
document.write('name: '+that+'name: '+that+; '+typeof(that)+'
'); 
return doublling(that.val); 
}(), 
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對本身的綁定。 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn