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
网友评论