js原型链的简单理解

1、语法定义

在js中我们称__proto__为原型链,而prototype为原型,并且在js中所看到的都是对象,就比如我们的原型prototype其实也是个对象

function Test(){}
//可以这样写,不过不推荐这种写法
Test.prototype = {a:"a",b:"b"}
//也可以这样写
Test.prototype.a = "a"
Test.prototype.b = "b"

由此可见prototype确实是个对象。

__proto__

我们知道只要是个对象 他都会有原型链__proto__

var a = {a:"a"}
var b = new Object({a:"a"})
function Test(){}
var t = new Test();

所有的原型链__proto__都是指向他的构造函数原型prototype

怎么证明这句话?

var a = {a:"a"}
console.log(a.__proto__ ===  Object.prototype)//true
var b = new Object({a:"a"})
console.log(b.__proto__ ===  Object.prototype)//true
function Test(){}
var t = new Test();
console.log(t.__proto__ ===  Test.prototype)//true
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容