__proto__与prototype
__proto__与prototype的区别
基本概念剖析
【重点】
prototype
是函数特有属性,指向原型对象;__proto__
是几乎所有对象都有的内部属性,指向其构造函数的原型对象!
详细对比
prototype(原型)
- 是函数对象的属性
- 用于存放该函数所有实例共享的属性和方法
- 当函数作为构造函数使用时,新创建的对象会链接到这个原型对象
proto(原型链接)
- 是实例对象的内部属性
- 指向创建该对象的构造函数的prototype
- 是对象访问原型链的入口
- 已被弃用,现代代码应使用
Object.getPrototypeOf()
// 代码示例
function Person(name) {this.name = name;
}// 在原型上添加方法
Person.prototype.sayHello = function() {console.log(