使用语法(0,myFunction)()调用JavaScript函数

使用语法(0,myFunction)()调用JavaScript函数,javascript,Javascript,我对JavaScript非常陌生,但我发现语法(0,myFunction)(可以在JavaScript上调用匿名函数,但我不知道匿名函数之前的0是什么意思,也不知道是否可以使用1或2来代替0,等等 基本上,我的问题是调用函数myFunction()或(0,myFunction)()之间有什么区别。该函数位于全局上下文中 这里有一个例子 var object = {} object.foo = function(){} 调用函数之间的区别 (0,object.foo)(); 或 您可以将这两个

我对JavaScript非常陌生,但我发现语法
(0,myFunction)(
可以在JavaScript上调用匿名函数,但我不知道匿名函数之前的0是什么意思,也不知道是否可以使用1或2来代替0,等等

基本上,我的问题是调用函数
myFunction()
(0,myFunction)(
)之间有什么区别。该函数位于全局上下文中

这里有一个例子

var object = {}
object.foo = function(){}
调用函数之间的区别

(0,object.foo)();


您可以将这两个调用重写为以下等价项:

object.foo.call(null); // (0,object.foo)();

object.foo.call(foo); // object.foo();

正如您所看到的,唯一的区别是被调用函数中
this
的“绑定”;但是使用
(0,something)()被认为是神秘的,应该在专业代码库中避免使用。

请提供更多上下文
(0,myFunction)
本身不起任何作用(它当然不执行函数)。您在哪里看到的?在什么情况下?你能举个例子吗?你确定它有外皮吗?没有它们会更有意义……我假设您看到了
(0,function(){/*some code*/}())
,但是
0,
似乎毫无意义。然而,这有点不同
0,function(){/*some code*/}()
的可能重复
object.foo.call(null); // (0,object.foo)();

object.foo.call(foo); // object.foo();