js_原型链的问题

时间:2020-05-04 19:06:36   收藏:0   阅读:59

所有的构造函数都是构造函数Function的实例(允许该构造函数直接通过constructor属性访问构造函数Function)

所有的原型对象都可以近似看成构造函数Object的实例(不允许该原型对象直接通过constructor属性访问构造函数Object)

示例:

判断构造函数、实例对象、原型对象之间的关系

现有构造函数Foo,其实例对象foo,其原型对象Foo.prototype。还有Function构造函数,Object构造函数

var l = console.log;

function Foo() {}
var foo = new Foo();

//Foo构造函数
l(foo.constructor == Foo); //true
l(Foo.prototype.constructor == Foo); //true
l(foo.__proto__ == Foo.prototype); //true

//Function构造函数
l(new Function().constructor == Function); //true
l(Function.prototype.constructor == Function); //true
l(new Function().__proto__ == Function.prototype); //true

//Object构造函数
l(new Object().constructor == Object); //true
l(Object.prototype.constructor == Object); //true
l(new Object().__proto__ == Object.prototype); //true

Object构造函数与Function构造函数之间的联系

所有的构造函数都是构造函数Function的实例(允许该构造函数直接通过constructor属性访问构造函数Function)

所有的原型对象都可以近似看成构造函数Object的实例(不允许该原型对象直接通过constructor属性访问构造函数Object)

//所有的构造函数都是构造函数Function的实例(允许该构造函数直接通过constructor属性访问构造函数Function)
l(Object.constructor == Function); //true
l(Object.__proto__==Function.prototype);//true

//所有的原型对象都可以近似看成构造函数Object的实例(不允许该原型对象直接通过constructor属性访问构造函数Object)
l(Function.prototype.__proto__ == Object.prototype); //true
l(Function.prototype.constructor == Object);//false
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!