Last updated 5 years ago
今天在上看到了一个帖子觉得还不错,是关于数组下标的。
const a = []; const b = []; a[(2**32)-1] = 'x' b[(2**32)-2] = 'x'
这两个有什么区别吗?
可以发现a这个数组,有一个元素, 这个元素的值是x。
a
x
再看看这个b数组,会发现他有2**32 - 2个空元素,然后再是一个x的值。
b
2**32 - 2
为什么会这样?
这就说明了数组下标的最大值。
最大值就是到2**32 - 2,如果超过这个数值,那么下标就不会被当做数字,直接当做一个字符串来解释。