gpt4 book ai didi

javascript - Way 不会将参数传递给匿名函数导致它返回一个函数

转载 作者:行者123 更新时间:2023-11-28 20:15:41 28 4
gpt4 key购买 nike

为什么将参数传递给匿名函数会影响结果?例如,下面的脚本将 a1 显示为 function(),将 a2 显示为数组。

var a1=(function(){return [1*2,2*2,3*2];});
var a2=(function(v){return [1*v,2*v,3*v];})(2);
console.log(a1,a2);

结果:

function() [2, 4, 6]

最佳答案

因为对 a1 的所有赋值只是创建一个匿名函数,但实际上并没有执行它。

对 a2 的赋值会创建同时执行该函数,因为您随后添加了括号来实际调用它。

要创建等效的代码,您需要这样的代码:

var a1=(function(){return [1*2,2*2,3*2];})(); <-- note the extra parens
var a2=(function(v){return [1*v,2*v,3*v];})(2);
console.log(a1,a2);

关于javascript - Way 不会将参数传递给匿名函数导致它返回一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19231262/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com