js中prototype和__proto__的关系和区别
时间: 2023-05-02 14:04:25 浏览: 198
JS中的原型以及prototype、constructor、__proto__三者之间的关系
prototype和__proto__都是JavaScript中用于原型链的属性,但它们的作用和区别不同。
prototype是函数的一个属性,它指向一个对象,这个对象包含该函数的所有实例共享的属性和方法。可以通过给prototype添加属性和方法来实现原型继承。
__proto__(双下划线proto)是一个对象的一个属性,它指向该对象的原型。换句话说,__proto__就是实现原型链的关键。当读取一个对象的属性时,如果该对象没有这个属性,JavaScript会沿着它的__proto__指向的对象查找,直到找到该属性或达到原型链的顶部为止。
因此,可以说prototype是用于定义函数以便实现原型继承的,而__proto__是在实例化对象时连接原型链的指针。
阅读全文