在javascript中可以直接设置length数组的属性.例如,我可以像这样缩短数组:
var arr = [1, 2, 3, 4];
arr.length = 2;
console.log(arr); // Array [ 1, 2 ]
// arr[2], arr[3] are deleted
Run Code Online (Sandbox Code Playgroud)
我希望它length是只读的(例如在java中).
据我所知,javascript中的数组也是一个对象:
console.log(typeof [1, 2, 3]); // object
Run Code Online (Sandbox Code Playgroud)
该length物业如何在引擎盖下工作?
Array.prototype.length是数组的可写属性.
从MDN添加说明Array#length
您可以设置length属性以随时截断数组.通过更改其长度属性来扩展数组时,实际元素的数量不会增加; 例如,如果在当前为2时将长度设置为3,则该数组仍仅包含2个元素.因此,length属性不一定表示数组中定义的值的数量.
这可以用来缩短数组.
据我所知,javascript中的数组也是一个对象:
Run Code Online (Sandbox Code Playgroud)console.log(typeof [1, 2, 3]); // object
检查为什么带对象的typeof数组返回"Object"而不是"Array"?
| 归档时间: |
|
| 查看次数: |
941 次 |
| 最近记录: |