原型:JS声明构造函数(用来实例化对象的函数)时,会在内存中创建一个对应的对象,这个 对象就是原函数的原型。构造函数默认有一个prototype属性,prototype的值指向函数的原 型。同时原型中也有一个constructor属性,constructor的值指向原函数。
通过构造函数实例化出来的对象,并不具有prototype属性,其默认有一个proto属性,proto 的值指向构造函数的原型对象。在原型对象上添加或修改的属性,在所有实例化出的对象上都 可共享。
当在实例化的对象中访问一个属性时,首先会在该对象内部寻找,如找不到,则会向其proto 指向的原型中寻找,如仍找不到,则继续向原型中proto指向的上级原型中寻找,直至找到或 Object, prototype为止,这种链状过程即为原型链。
Was this helpful?
0 / 0