为什么 Object 对象中的某些属性不会在子对象中继承
Why some of the properties from the Object object are not inherited in sub-objects?
在测试以下代码时,我发现"keys"属性没有在我的对象中继承:
var obj = {x: 0, y:1};
console.log (Object.keys); //function
console.log (obj.keys); //undefined
因此,我的理解是某些属性(在对象中)不会在用户定义的对象中继承。为什么?这些属性是否只能通过对象对象使用?是否有任何技巧可以获取在用户定义对象中不可用或继承的属性列表?
只有.prototype
对象作为原型继承。静态类属性不是。
function Foo() {};
Foo.prototype.bar = function () {};
Foo.baz = function () {};
var f = new Foo();
f
将继承bar
,但不会继承baz
。
> Object.keys
是 Object
变量的静态属性,obj.keys
是 obj
变量的属性,它将继承自 Object.prototype
.你会发现这会起作用:
console.log(obj.hasOwnProperty); //function
相关文章:
- JavaScript对象继承问题
- 我的Javascript对象继承自什么
- javascript对象继承-子类和超类
- 向扩展数组的JS集合添加对象(继承?)
- 使 HTML 元素从自定义对象继承事件
- 如何从“构造函数返回另一个对象”对象继承
- 在 Ember.js 中,如何使用 super() 遍历对象继承树
- 如何实现 JavaScript 对象继承
- Javascript 对象继承
- 使用jquery的函数对象继承's延伸
- 是否可以从javascript函数对象继承
- 从数组中的对象继承/调用函数
- 如何强制javascript数组从我的自定义对象继承
- 为什么不't我的对象继承了keys函数
- JavaScript中的对象继承
- 通过clone()实现对象继承是如何工作的
- 原型继承为什么子对象不从父对象继承方法
- 从Error对象继承-其中是消息属性
- JavaScript对象继承问题
- 对象继承