javascript - 什么是 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);
解决方案
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 构造函数时,它返回一个空槽数组,其长度属性设置为该数字。
推荐阅读
- c# - File.Create和ghost文件
- python - 查找两个字符正则表达式之间的内容?
- c# - 使用 Cognito 用户池 ID 在 AWS 上调用 graphql api
- python - 如何根据以前的列填充 NaN 值
- java - 使用 PDFBox AnnotationconstructAppearances() 方法获取 OutOfMemoryError
- java - 数组元素和 charAt 变量之间的 Java 类型错误
- sbt - 为什么update会丢弃sbt中UpdateReport中的信息?
- assembly - 火星大会打不开
- windows - Windows CMD - 根据文件夹名称重命名文件
- reactjs - React-Typescript 将动态值传递给兄弟姐妹?