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

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

 

總結:ide

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

相關文章
相關標籤/搜索