javascript - NodeList对象的length属性只读,如何验证?

标签 javascript

length 属性的属性描述符对象显示为 configurable: true、writable:true 和 enymerable:true 但它的行为类似于只读。

我知道只读特性只能通过PDO(property descriptor object)来实现。

有人可以提供任何线索吗? 这怎么是只读的?

var nodeList = document.getElementsByName('demo');

nodeList.length; //3
nodeList.length = 6;
nodeList.length; //3

Object.getOwnPropertyDescriptor(nodeList,'length')
Object
configurable: true
enumerable: true
value: 3
writable: true
__proto__: Object

最佳答案

length 是只读的,根据 http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-536297177

确实,display 是一种误导,但那是因为它是一个宿主对象,所以它不必像我们习惯的那样表现得像 native 对象。不过,这值得提交错误报告,因为显示应该尽可能地匹配行为,尤其是在这种明显的情况下。

关于javascript - NodeList对象的length属性只读,如何验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14627786/

相关文章:

javascript - 如何使标题图像响应屏幕尺寸的变化?

javascript - 变换矩阵线性组合的旋转动画导致放大缩小

javascript - AngularJS 中的 CORS 错误

javascript - 谷歌地图不渲染但标记/集群工作(灰色 map 区域)

javascript - 按 T​​ab 键切换到 HTML 中尚不可见的元素

javascript - 如何防止 NodeJS 服务器潜在地暴露函数代码?

javascript - 检测angular2页面刷新

java - 在 Android Java 应用程序中解释 JavaScript 的最佳方法

javascript - "this"在我的类(class)中未定义

javascript - 如何让 riak-js 返回行走的对象?