老师,有个问题

来源:4-1 用new调用函数的四步走

saltedfishman

2020-10-19 22:16:51

Object.prototype.age = 15;

let a = [];

console.log(a.age)                 //15

let b = {};

console.log(b.age)                         // 15

console.log(b.__proto__ == a.__proto__)                       //false

我定义了一个数组a,为什么他能继承到对象的原型上的属性。

然后,我又创建了一个对象b,b能继承到对象原型上的属性,但是为什么a和b原型却不相等。


在这里输入代码,可通过选择【代码语言】突出显示

写回答

1回答

好帮手慕言

2020-10-20

同学你好,对象和数组的__proto__ 的指向是不同的。数组a的__proto__ 指向的是数组的原型,数组原型的__proto__指向对象的原型。对象b的__proto__ 指向的对象的原型,因此a.__proto__.__proto__ == b.__proto__的结果才为true

0

0 学习 · 15276 问题

查看课程