为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript中的“undefined x 1”是什么?

JavaScript中的“undefined x 1”是什么?

蓝山帝景 2019-08-13 17:27:26
JavaScript中的“undefined x 1”是什么?我正在做一些基于这篇博客文章的小实验。我正在谷歌Chrome的调试器中进行这项研究,这是困难的部分。我得到的事实是我无法删除局部变量(因为它们不是对象属性)。我知道我可以“读出”从名为'arguments'的数组传递给函数的所有参数。我甚至得到它,我不能删除和数组的元素,只有实现array[0]有一个未定义的值。有人可以向我解释undefined x 1嵌入式图像的含义吗?当我覆盖函数foo返回时arguments[0],我得到通常的'正常'未定义。这只是一个实验,但似乎有趣,有人知道是什么意思undefined x 1吗?
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

这似乎是Chrome在数组(和类似数组的对象)中显示未初始化索引的新方法:

> Array(100)[undefined × 100]

这肯定比打印更好[undefined, undefined, undefined,...],但不管怎样。

虽然,如果只有一个undefined值,他们可以放弃x 1


查看完整回答
反对 回复 2019-08-13
?
茅侃侃

TA贡献1842条经验 获得超21个赞

Google Chrome似乎选择使用此表示法显示稀疏数组undefined x n。它将显示[undefined, undefined]它是否不是稀疏数组:


var arr = new Array(2);

console.log(arr);


var arr2 = [];

arr2[3] = 123;

console.log(arr2);


var arr3 = [,,,];

console.log(arr3)


var arr4 = [,];

console.log(arr4)


var arr5 = [undefined, undefined]

console.log(arr5)


var arr6 = [undefined]

console.log(arr6)

arr1到arr4都是稀疏数组,而arr5和arr6都不是。Chrome会将其显示为:


[undefined × 2] 

[undefined × 3, 123] 

[undefined × 3] 

[undefined × 1] 

[undefined, undefined] 

[undefined] 

请注意[undefined x 1]稀疏数组。


由于您删除了一个元素,因此:如果从数组中删除元素,则该数组变得稀疏。


查看完整回答
反对 回复 2019-08-13
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

以下是它的外观,在chrome devtools控制台中输入以下代码: -

arr = new Array(4);arr[2] = "adf";console.log(arr);    // [undefined × 2, "adf", undefined × 1]

查看由* 2表示的前两个连续“未定义”,以显示那里有两个连续的未定义


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 493 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信