JS原型和__proto__的区别 搞清楚了
发布时间
阅读量:
阅读量
理解protopype和__proto__的区别在于一句话:
仅函数Function与对象Object拥有prototype属性这一特性,在其他类型的实例中则并不具备该特征。
而对于那些基于基本数据类型的构造来说,
其对应的实例却拥有__proto__属性,
并且这些基本数据类型及其对应的实例都指向同一个原型对象,
即这些类型被视为相等(因为都指向同一个内存地址)。
这种特性使得在某些编程模式下能够实现统一的行为处理,
而无需为每个具体类型单独编写代码。
我总是听说一个容易引起误解的观点:对象不拥有 prototype 属性,而只有函数才拥有 prototype 属性。
这句话让我感到困惑了很久的时间段,请问原因是什么呢?因为我们经常提到过函数不具备继承功能这一特点吗?所以我认为上面的观点存在不足之处。
证明函数是对象:
console.log(Function instanceof Object)

在长时间的审核中,我总结出这一论断:仅函数Function和对象Objec
全部评论 (0)
还没有任何评论哟~
