JavaScript 原型
2020.11.17
先来看一道题
返回结果是 false、false、true、true
实例的__proto__ 和 构造函数的 prototype 相等
关于原型(prototype)
1、原型即 prototype ,是 函数
的一个属性,也是一个对象,是祖先。构造函数+原型整体也是一个对象,叫做原型对象 。对象可以继承对象原型的属性。原型的存在可以减少代码的冗余,减少执行次数。对象并不具有prototype属性,只有函数才有prototype属性。!!
2、利用原型的特点和概念可以提取共有属性。
3、可以用隐式属性__proto__ 查看对象的原型。
4、用 constructor 可以查看对象的构造函数,即找对象是谁生的,该属性可以手动更改。
总结:(好好理解这段话!)
js里所有的对象都有__proto__ 属性(对象,函数),指向构造该对象的构造函数的原型。
只有函数function才具有prototype属性。这个属性是一个指针,指向一个对象,这个对象的用途就是包含所有实例共享的属性和方法(我们把这个对象叫做原型对象)。
原型对象也有一个属性,叫做constructor,这个属性包含了一个指针,指回原构造函数。
关于原型链
(用了别人的图)