首页 > 其他 > 详细

调用函数后加括号与不加括号的区别

时间:2019-02-25 20:28:24      阅读:167      评论:0      收藏:0      [点我收藏+]

简单点说,带括号的是函数调用,直接执行函数;不带括号的是绑定事件,事件触发再执行。

复杂点说,带括号的是把返回值赋值给事件,不带括号的是把函数体所在地址位置赋值给事件。

举个例子来说就是

<div id="a">函数括号那回事</div>
<input id="ip" type="button" value="点击变色">
<script type="text/javascript">
   function cc(){
       var a=document.getElementById("a");
       a.style.color="red";
   }
   function change(){
       var ip=document.getElementById("ip");
       //ip.onclick=cc;   //正常绑定事件,onclick触发执行
       ip.onclick=cc();   //调用cc,直接执行
   }
   change();  //调用change,直接执行
</script>

上面代码扔body里,2种挨个感受一下就知道了。

然后会有一个新问题,假如函数需要传参怎么办,这时候需要ip.onclick=function(){cc(obj);},理解方式一样,绑定一个函数,函数在触发onclick时执行,函数内容是执行cc。

调用函数后加括号与不加括号的区别

原文:https://www.cnblogs.com/qianphong/p/10433049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!