Javascript 使用默认值初始化数组

Javascript 使用默认值初始化数组,javascript,Javascript,我正在查看,无意中发现需要阵列。应用于填充阵列: 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.

我正在查看,无意中发现需要阵列。应用于填充阵列:

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。

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

thisArg

这项服务的价值在于为《寻欢作乐》提供服务。请注意,这可能不是 是该方法看到的实际值:如果该方法是 非严格模式代码,null和undefined将替换为 全局对象和基元值将被装箱

argsArray

一个类似数组的对象,指定fun应该使用的参数 如果不应向提供参数,则为null或未定义 功能


有关详细信息,请参见
var-array=array(5)
你了解什么?你也可以使用
array.from()
而不是
array()
.map()
我想(至少,我认为)apply做什么,我只是不知道它在这种情况下做了什么。装箱数组(5)(即长度为5的空数组)在5个“未定义”参数中对其进行转换,对吗?