发布网友 发布时间:2022-04-22 03:21
共3个回答
热心网友 时间:2022-04-22 12:24
1.原型链:
当前对象a=new A()的原型(._proto_)是当前构造函数A.prototype.
A.prototype又可能是另一个构造函数B的实例(new B()).
new B()._proto_是当前构造函数B.prototype又可能是构造函数C的实例.
如此向上找形成原型链.
2 for..in
可以遍历可枚举属性(自有属性和继承属性).
所谓继承属性就和原型链息息相关.
如上a继承了构造函数A.prototype里的方法和属性.
A.prototype又继承了B.prototype的方法和属性.
B.prototype又继承了C.prototype的方法和属性.如此往复.
3.例子
4.控制台
热心网友 时间:2022-04-22 13:42
Enumerable 特性
属性特性 enumerable 定义了对象的属性是否可以在 for...in 循环和 Object.keys() 中被枚举。
var o = {};遍历至某属性时,如果值为undefined,则会沿原型链查找,如果找到该值并且enumerable为true,就会被遍历到
热心网友 时间:2022-04-22 15:17
因为原型连里面的任何东西,不管是属性还是函数,都是这个原型对象的属性