为何html内里的onclick函数背面要加(),而js内里不需要?

原文链接:https://segmentfault.com/q/10…

我本身做了一下测试。

《为何html内里的onclick函数背面要加(),而js内里不需要?》

《为何html内里的onclick函数背面要加(),而js内里不需要?》

这个是在html内里直接绑定onclick事宜,我打印了onclick,效果让我有些受惊。
这是一个onclick函数,fn()则是在函数内部,所以当触发了onclick事宜的时刻,onclick函数就实行,这时刻由于fn在onclick函数内部已实行了,所以会打印出来123.

假如改成onclick="fn"呢?这时刻打印出来的就是function onclick(){ fn },所以纵然点击了按钮,触发了onclick事宜,fn依旧不会实行。

《为何html内里的onclick函数背面要加(),而js内里不需要?》

《为何html内里的onclick函数背面要加(),而js内里不需要?》

上图是用DOM0级绑定点击事宜的要领,我打印了一下onclick,效果发明onclick就是fn函数。
所以这个时刻fn背面就不必加括号,当你触发onclick事宜的时刻,直接就会实行,所以这时刻,如果在fn背面加个括号,不触发onclick事宜也会直接实行fn。
    原文作者:尹光耀
    原文地址: https://segmentfault.com/a/1190000007956421
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞