熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

php方法調用模式與函數調用模式簡例

2022-06-13   來源: PHP編程 

  現有某函數與對象如下:

   var doubling=function(x){
return x*;
};
var obj={
val:
}; 函數調用模式時this被綁定到全局對象這種情況在對象的屬性與方法被初始化時也能夠得到反應現為ojb進行補充如下

  
var obj={val:
prop:function(){
var that=this;
documentwrite(name: +that+; type: +typeof(that)+<br/>);
return doublling(thatval);
}()
get_prop:function(){
var that=this;
documentwrite(name: +that+; type: +typeof(that)+<br/>);
return doublling(thatval);
}
};  prop使用一個被執行的匿名函數期望取得所在對象的val值被函數調用模式的doubling()運算的結果而get_prop為方法調用模式
腳本加載的時候obj的屬性prop初始化時語句"name: [object Window]; type: object"輸出使用objget_prop()時語句"name: [object Object]; type: object"輸出前者表明函數體的"this"為全局變量window後者如所期待的為obj本身
可以檢查屬性prop和方法get_prop()的返回值前者對window對象進行乘法運算返回NaN後者等於
在obj字面量表達式之外期望設置new_prop屬性和new_get_prop()方法結果將與前文一致方法調用模式才會獲得this對本身的綁定
詳細出處參考


From:http://tw.wingwit.com/Article/program/PHP/201311/20973.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.