博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调用函数后加括号与不加括号的区别
阅读量:6331 次
发布时间:2019-06-22

本文共 609 字,大约阅读时间需要 2 分钟。

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

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

举个例子来说就是

<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.οnclick=cc;   //正常绑定事件,onclick触发执行
       ip.οnclick=cc();   //调用cc,直接执行
   }
   change();  //调用change,直接执行
</script>

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

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

转载于:https://www.cnblogs.com/qianphong/p/10433049.html

你可能感兴趣的文章
堆和栈的区别
查看>>
网易2017春招笔试真题编程题集合(2)——赶去公司
查看>>
top命令
查看>>
JS-键盘事件之方向键移动元素
查看>>
Compass(更新中。。。)
查看>>
bos开发时,测试卡在登录界面解决
查看>>
2013 Multi-University Training Contest 2
查看>>
Java 程序在执行时的内存划分区域
查看>>
关于c#动态加载程序集的一些注意事项
查看>>
对Apache2进行简单配置
查看>>
Extensions for Vue
查看>>
java-多线程 String 常量池缓存功能带来的问题
查看>>
8.5折!图表控件TeeChart特价中...
查看>>
大专生自学Python到找到工作的经历
查看>>
大白话讲解闭包笔试题
查看>>
好用的API文档--在线版
查看>>
Linux 性能測试工具
查看>>
剑指offer——优化时间和空间效率(第五章)
查看>>
门面(Facade)模式--医院,保安系统实例
查看>>
linux(Ubuntu/Centos) iproute 路由IP地址等命令集合,查看端口链接
查看>>