如何理解"this對象是方法的屬性值",文中加粗的這段話很晦澀難懂
如何區(qū)分javascript中的方法(method)、函數(shù)(function)、事件(event)三個概念?
Java中只有方法,C中只有函數(shù),而C++里取決于是否在類中。
函數(shù)是由事件驅(qū)動的或者當它被調(diào)用時執(zhí)行的可重復(fù)使用的代碼塊,與對象無關(guān)。函數(shù)可以帶有實參或者形參,可以返回值。函數(shù)和字符串、數(shù)值一樣也是數(shù)據(jù)類型,因此可以直接儲存在變量中。比如自己寫的倒計時函數(shù),觸發(fā)單擊事件時調(diào)用倒計時函數(shù)開始計時。
方法是通過對象調(diào)用的javascript函數(shù),方法也是函數(shù),是比較特殊的函數(shù),方法和對象相關(guān)。假設(shè)有一個函數(shù)是fn,一個對象是obj,那么就可以定義一個method
obj.method = fn; ? //定義一個方法obj.method(); ? ?//調(diào)用方法
方法是用來操作this對象的,this對象是方法的一個重要屬性,當this對象出現(xiàn)在方法主體內(nèi)部時,this就指向調(diào)用該方法的對象。
方法是程序?qū)δ巢僮鞯奶幚?,比如show(),你可以在觸發(fā)單擊事件的時候調(diào)用show(),也可以在雙擊的時候調(diào)用。
事件是你通過某種動作觸發(fā)的,比如單擊、雙擊、鼠標劃過等等。
2017-03-30
誰調(diào)用這個函數(shù)或方法,this關(guān)鍵字就指向誰。
詳情請參考(http://www.cnblogs.com/justany/archive/2012/11/01/the_keyword_this_in_javascript.html)