作业帮 > 综合 > 作业

请问javascript 中函数调用的问题,带括号的和不带括号有什么区别啊?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 05:31:47
请问javascript 中函数调用的问题,带括号的和不带括号有什么区别啊?
比方说:
var img1 = document.getElementById("img1");
img1.onclick = abc; 与img1.onclick = abc();
这两个有什么区别啊?
例:
function Myfun(){}//这是一个函数,就是一个方法体,在{与}之间可以实现很多计算或操作
var Myfun;//这是一个变量,只负责储存一个对象,对象包括数值\数组\字符串\方法体\控件\空值等
如果Myfun=Myfun();
那么Myfun就记录了方法体Myfun(),Myfun就是Myfun();
但是Myfun()就不能=Myfun,因为Myfun()不是一个变量,不负责储存
理解了上面的内容就容易理解下面的内容了
img1.onclick = abc;
很显然abc是一个变量,他可能是前面赋过值的一个对象也可能没赋过值是空值
在你的例子里,abc应该是被赋过一个方法体的变量,因为onclick是执行方法的
img1.onclick = abc();
就是img1的鼠标单击事件执行的abc()方法体
abc()是一个函数