Roh*_*hit 2 javascript arrays constructor object
var a = [undefined, undefined];
var b = new Array(2);
0 in a // returns true
1 in a // returns true
0 in b // returns false
1 in b // returns false
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释为什么会这样吗?
b = new Array(2);
Run Code Online (Sandbox Code Playgroud)
只是说,b是一个大小为二的数组.但阵列只是空的.它没有任何元素.所以,没有这样的索引.所以,0和1是不是在尚未有b.这些被称为洞.
但是,当你说
var a = [undefined, undefined];
Run Code Online (Sandbox Code Playgroud)
你正在创建一个包含两个元素的数组.所以,它有undefined索引0和1.这就是为什么它们都存在于数组中.
注意:当您只是为变量赋值而不用var(let或const)声明它时,它将成为全局变量.
| 归档时间: |
|
| 查看次数: |
45 次 |
| 最近记录: |