關於js中的this呼叫

541732025發表於2014-07-02

js中定義一個function,在該function中使用關鍵字this時要注意,
如果你定義function是為了將來某個事件呼叫,那麼此時this不可用(嚴格來說,
this是一個不指代任何節點的物件,相當於java中的new Object(),不為null),
因為它不知道this指代哪個物件,所以這種情況下,我們一般給function定義一個
形式引數,然後誰呼叫誰傳入實參-this。
但是,有一種情況要注意,如果使用匿名function,如下形式:
input.onclick=function(){......},
或者使用js框架,譬如jQuery:
$(input).bind("click",function(){});
$(input).click(function(){......});//簡化形式
$(input).live("click",function(){......});//委託形式
......
在這些匿名函式里面,可以直接使用this,因為它知道this指代誰。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28912557/viewspace-1204986/,如需轉載,請註明出處,否則將追究法律責任。

相關文章