对于prototype的一些理解

88 阅读1分钟

JavaScript中的对象有一个特殊的[[Prototype]]内置属性,其实就是对于其他对象的引用。几乎所有的对象在创建时[[Prototype]]属性都会被赋予一个非空的值。

我们一般在创建一个对象然后去引用它的值的时候都会触发默认的get操作,如果本身没有这个属性,就会用到prototype链。看代码

var obj = {
    a:2
}
var newobj = Object.create(obj);//这个方法可以关联到obj

console.log(newobj.a)//2

如果obj中查找不到"a"的话就会继续查找完成的prototype链,最后get操作会返回一个undefined。

这是我简单的一个理解,不喜勿喷。欢迎评论不足