我爱编程

js原型链的简单理解

2018-05-26  本文已影响0人  十年之后_b94a

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
上一篇 下一篇

猜你喜欢

热点阅读