javascript 函數表達的問題 fun跟fun()有什麼不同?

原文地址:http://www.w3cfuns.com/forum.php?mod=viewthread&tid=5591696&fromuid=1439

 

總結:

fn是函數的名字,可以用它來引用函數
加上()就是運行函數,每個函數運行後都會有返回值,如果你沒有在fn中特別寫上return什麼的話,會返回undefined
obj.onclick是對obj的onclick屬性賦值
obj. 就是把函數引用賦值給onclick屬性
obj. 是把函數fn的運行結果賦值給onclick屬性,在你的代碼裏,沒有寫return,那麼fn運行後返回undefined,所以這裏就是obj.onclick=undefined;
這個賦值過程是不會報錯的,但當click事件被觸發時,賦值到onclick的屬性值會被執行,大概就是obj.onclick()這麼個過程(我猜測),所以把undefined當做函數運行是會報錯的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章