[摘要]本篇文章给大家带来的内容是关于javascript中原型和原型链的简单介绍 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。[[Prototype]]几乎所有对象在创建的时候都会生成...
本篇文章给大家带来的内容是关于javascript中原型和原型链的简单介绍 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
[[Prototype]]
几乎所有对象在创建的时候都会生成[[Prototype]]链,就是人们常说的原型链,当你试图引用对象的属性时,会触发对象的[[Get]]操作,对于默认的[[Get]]操作来说,第一步就是去查找当前的对象中有没有你要引用的属性,如果有就会使用它,如果没有找到,就会去查找这个对象的原型链,举个例子:
var one = {
type: 'one'
}
var two = Object.create(one)
console.log(two.type) // one
在上述例子中,two对象中并没有type属性,但是由于Object.create(创建一个新对象,带着指定的原型对象和属性)将one对象和two对象联系到一起,因此在原型链的查找过程中,即便在two对象中没有找到type属性,会继续向上查找,在one对象中查找到type属性并打印,如果沿着原型链一直向上查找都没有找到,则会打印undefined