中国建设银行集团,常州seo网络推广,注册网站需要实名认证吗,谷歌广告推广这个图大概能概括原型和原型链的关系
1.对象都是通过 _proto_ 访问原型
2.原型都是通过constructor 访问构造函数
3.原型是构造函数的 prototype
4.原型也是对象实例 也是通过 _proto_ 访问原型(Object.prototype)
5.Object.prototype的原型通过 _proto_ 访问 为null 那么…
这个图大概能概括原型和原型链的关系
1.对象都是通过 _proto_ 访问原型
2.原型都是通过constructor 访问构造函数
3.原型是构造函数的 prototype
4.原型也是对象实例 也是通过 _proto_ 访问原型(Object.prototype)
5.Object.prototype的原型通过 _proto_ 访问 为null 那么原型和原型是什么
原型任何一个JS对象在创建时会关联的一个对象创建出来的对象能继承原型上的属性
原型链当对象访问一个属性时先找自身有无其属性没有就去原型上找因为原型也是一个对象实例所以在构造函数原型上找不到就会去对象原型Object.prototype上找
常见的面试题和解析
function Person() {}
const person new Person()console.log(person.__proto__ Person.prototype) // true
console.log(Person.prototype.constructor Person) // true
console.log(Object.getPrototypeof(person) person._proto_) // true
consoe.log(Person.prototype.__proto__ Object.prototype) // true
consoe.log(Object.prototype.constructor Object) // true//见图即可
//Object.getPrototypeof返回指定对象的原型console.log(person.constructor Person) // true
//因为person.constructor 先找自身属性没有就找原型 Person.prototypePerson.prototype.constructor 刚好就等于Personconsole.log(Object.prototype._proto_) // null