如何为函数赋值并复制它?

时间:2014-07-24 09:34:02

标签: javascript

由于赋值运算符实际上可以将变量赋值给值/对象,为什么不能将变量赋值给函数。

例如:当我指定var b = 5;当我创建一个实例时,b变成5,对象也是如此。 var b = c;

然而,当我指定var b = func();它给了我结果或回报。为什么这样做,如何在不使用闭包或工厂的情况下制作复制函数?

1 个答案:

答案 0 :(得分:5)

()个字符是表示“调用函数”的语法。

删除它们,你将得到对函数对象的引用,而不是调用它并获得返回值。

function func () {
    alert(1);
}

var b = func;
b();
setTimeout(func, 2000);