我是JavaScript的新手,但我发现语法(0, myFunction)()
在JavaScript上调用匿名函数,但我不知道在匿名函数之前0是什么意思,我也不知道如果不是0,我可以使用1或2,等等。
基本上我的问题是调用函数myFuntion()
或(0, myFunction)()
之间的区别是什么。该功能处于全局范围内。
这是一个例子。
var object = {}
object.foo = function(){}
调用函数
之间的区别(0,object.foo)();
或
object.foo();
答案 0 :(得分:2)
您可以将两个调用重写为以下等价物:
object.foo.call(null); // (0,object.foo)();
object.foo.call(foo); // object.foo();
正如您所看到的,唯一的区别是"绑定"在被调用函数内的this
;但(0, something)();
的使用被认为是神秘的,应该在专业的代码库中避免使用。