首页 > 解决方案 > 什么是 JavaScript 变量“空”

问题描述

做 Array.apply(null,[1]) 让我得到这个 [empty] 但 Array(null,[1,2]) 让我得到 [1,2] 'empty' 的数组长度为 1 但索引为零不明确的。

Array.apply(null,[1]).length 1 Array.apply(null,[1])[0] 未定义 Array.apply(null,[1]) [空]

console.log(Array.apply([1]));
console.log(Array.apply([1]).length);

标签: javascriptarrays

解决方案


Javascript中没有empty变量,它们是空槽。Array([1,2])你正在打电话Array.apply([1,2])。两者Array.apply([1])Array.apply([1,2])都会给你同样的结果[]

但是当你调用Array.apply(this,[1])它时,它会导致[empty]因为在内部它等于Array(1). 当你调用Array.apply(this,[1,2])它时,它等于Array(1,2)which will be [1,2]。当只有一个数字传递给 Array 构造函数时,它返回一个空槽数组,其长度属性设置为该数字。

MDN 文档


推荐阅读