Javascript 两种直接调用匿名函数的方法(函数(d){}());和(函数(x){})();

Javascript 两种直接调用匿名函数的方法(函数(d){}());和(函数(x){})();,javascript,Javascript,可能重复: 我的问题有这些特殊的特征,我找不到一个好的答案。(有人知道如何使用它们进行搜索吗?) 我看到了两种立即调用匿名函数的模式 及 区别在于(3)的位置:右括号内或右括号外 我在这里找到了第二个案例的一个很好的解释: 我理解为function(x){…}创建了一个函数对象,(3)成为它的参数,封闭的()告诉解释器里面是一个语句 在第一种情况下,它似乎使(function(d){…})成为某种程度上也是函数的语句,然后将(3)应用于该语句/函数 因此,它们的执行方式似乎相同。这里真的有区

可能重复:

我的问题有这些特殊的特征,我找不到一个好的答案。(有人知道如何使用它们进行搜索吗?)

我看到了两种立即调用匿名函数的模式

区别在于(3)的位置:右括号内或右括号外

我在这里找到了第二个案例的一个很好的解释:

我理解为
function(x){…}
创建了一个函数对象,(3)成为它的参数,封闭的()告诉解释器里面是一个语句

在第一种情况下,它似乎使
(function(d){…})
成为某种程度上也是函数的语句,然后将(3)应用于该语句/函数


因此,它们的执行方式似乎相同。这里真的有区别吗?范围(我怀疑)?这两个选项中有哪一个更可取?

它们的执行方式完全相同。区别只是在语法上。

你的理解是错误的

这些都是函数表达式;括号的位置在这里没有区别


不过,.

这简单多了,谢谢你的澄清。你是如何发现这个问题的?海托昌:我记得回答过这个问题。
(function(d) {
    document.write(d*2);
})(3);
(function(x) {
    document.write(x*2);
}(3));