使用默认值初始化Array

时间:2017-02-01 22:12:02

标签: javascript

我正在查看this answer,我偶然发现Array.apply需要填充数组:

var array = Array.apply(null, Array(5)).map(function() { return 0; });

我已经检查过,这实际上不起作用:

var array = Array(5).map(function() { return 0; });

我知道我能做到

var array = Array(5).fill(0);

为了获得与第一种方法相同的结果,我只是想知道为什么它需要带有null作为参数的Array.apply。

1 个答案:

答案 0 :(得分:3)

Apply.apply(thisArg,[argsArray]) 有两个参数

<强> thisArg

  

为乐趣召唤提供的价值。请注意,这可能不是   是方法看到的实际值:如果方法是函数   非严格模式代码,null和undefined将替换为   全局对象和原始值将被装箱。

<强> argsArray

  

类似于数组的对象,指定有趣的参数   如果不应该提供参数,则调用,或null或undefined   功能。

详细信息visit