const clothes = ['jacket', 't-shirt']; clothes.length = 0; clothes[0]; // => ???
数组对象的 length 属性具有一些特殊的行为:
length
减少 length 属性的值的副作用是删除 自己的 数组元素,这些元素的数组索引位于新旧长度值之间。
由于 length 属性行为,当 JS 执行 clothes.length = 0 时,删除所有的 clothes 项。 所以 clothes[0] 的值为 undefined,因为 clothes 数组已被清空。
clothes.length = 0
clothes
clothes[0]
undefined
最后更新于4年前