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

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

我正在做一些基于这篇博客文章的小实验。

我正在谷歌Chrome的调试器中进行这项研究,这是困难的部分。

我得到的事实是我无法删除局部变量(因为它们不是对象属性)。我知道我可以“读出”从名为'arguments'的数组传递给函数的所有参数。我甚至得到它,我不能删除和数组的元素,只有实现array[0]有一个未定义的值。

有人可以向我解释undefined x 1嵌入式图像的含义吗?

当我覆盖函数foo返回时arguments[0],我得到通常的'正常'未定义。

这只是一个实验,但似乎有趣,有人知道是什么意思undefined x 1吗?


蓝山帝景
浏览 494回答 3
3回答

蝴蝶刀刀

这似乎是Chrome在数组(和类似数组的对象)中显示未初始化索引的新方法:> Array(100)[undefined × 100]这肯定比打印更好[undefined, undefined, undefined,...],但不管怎样。虽然,如果只有一个undefined值,他们可以放弃x 1。

茅侃侃

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]稀疏数组。由于您删除了一个元素,因此:如果从数组中删除元素,则该数组变得稀疏。

犯罪嫌疑人X

以下是它的外观,在chrome devtools控制台中输入以下代码: -arr = new Array(4);arr[2] = "adf";console.log(arr);    // [undefined × 2, "adf", undefined × 1]查看由* 2表示的前两个连续“未定义”,以显示那里有两个连续的未定义
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript