如何强制javascript数组从我的自定义对象继承
How to force javascript Array to inherit from my custom object?
有可能这样做吗?强制标准javascript对象从自定义对象继承?(没有实际用途,只是反问)。
var MyObject=function(){
this.name="name from MyObject";
}
Array.prototype=new MyObject();
var array = new Array();
console.log(array.name); //undefined
当然,您可以重新分配Array的原型。但这样做可能会产生可怕的后果。
ECMAScript(JavaScript的基础)对数组做了一些基本假设。我可以想象,ECMAScript的一些实现将禁止重新分配内部类的原型,而其他实现则允许这样做(因为JavaScript的一个同样基本的规则是,任何东西都可以在任何地方、任何时间更改)。
然而,这样做会使数组变得完全不可预测和不可靠。
发生这种情况是因为禁用了对此属性的修改(我认为这是ECMAScript 5规范对本机对象的要求,但找不到任何东西来证明它)。在chrome中运行此查询:
Object.getOwnPropertyDescriptor(Array, 'prototype')
显示属性的描述符
Object {
value: Array[0],
writable: false,
enumerable: false,
configurable: false
}
相关文章:
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 使用数组自定义对象
- 使用带有自定义对象作为属性的jQuery.extend时出现意外行为
- 在JavaScript中定义自定义对象和函数(第2部分)
- 在JavaScript中定义自定义对象和函数
- 如何获得一个动态增长的自定义对象的Javascript数组
- Angular Schema Form-自定义对象编辑器
- 使用JavaScript将自定义对象添加到文档中
- 序列化具有方法的自定义对象.序列化后删除的方法-要采取的步骤
- 正在将img/文件上载到Quickbloxx自定义对象API
- 生成自定义对象调用
- 将自定义对象的猫鼬 PUT 实现到复杂架构中时出现问题
- 如何在 Javascript 中制作自定义对象数组
- 使 HTML 元素从自定义对象继承事件
- Javascript错误消息,自定义对象表示
- 在自定义对象上使用 jQuery 等选择器
- 自定义对象内的范围问题
- 自定义对象中的变量范围
- 如何使用Visual Force和Javascript在Salesforce中的自定义对象中获取自定义字段值
- 自定义对象/类型 Javascript