wengyaqiang
2015-07-25 14:50
什么时候直接用函数名调用函数,什么时候要用"函数名()"?
以我的理解,给你举个例子,参考参考:
function ab(){ return c; } var me = ab(); // (1) var me = ab; // (2)
(1)是调用;(2)是赋值。
【(1)中,等价于 var me = c。那么这是赋值还是调用?不要被误导,这是调用。先调用了函数ab,调用完返回了c,赋值给变量me。】
那么在什么情况下是赋值?
比如 btn.onclick = ab;这种情况,就是把函数给系统,让系统去调用。为什么不是btn.onclick = ab(); 如果是这样,文件加载到这一行,他就会直接执行,执行完,如果有返回值,就会给btn.onclick返回值,如举例中返回的是c。如果没有返回值,则返回null,这样相当于btn.onclick = null。
后者才是函数的调用吧,函数名只是代表了一个函数,单独写出来并不能执行,函数名()才可以执行函数,自己的一点理解,不知道能不能帮到你
DOM事件探秘
99545 学习 · 1197 问题
相似问题