原文連接:https://segmentfault.com/q/1010000007955542?_ea=1503986html
我本身作了一下測試。
這個是在html裏面直接綁定onclick事件,我打印了onclick,結果讓我有些吃驚。 這是一個onclick函數,fn()則是在函數內部,因此當觸發了onclick事件的時候,onclick函數就執行,這時候由於fn在onclick函數內部已經執行了,因此會打印出來123. 若是改爲onclick="fn"呢?這時候打印出來的就是function onclick(){ fn },因此即便點擊了按鈕,觸發了onclick事件,fn依然不會執行。
上圖是用DOM0級綁定點擊事件的方法,我打印了一下onclick,結果發現onclick就是fn函數。 因此這個時候fn後面就不用加括號,當你觸發onclick事件的時候,直接就會執行,因此這時候,要是在fn後面加個括號,不觸發onclick事件也會直接執行fn。