原型,原型链,继承

it2025-03-03  26

原型,原型链:

var log = console.log.bind(console); function Foo() { } log((new Foo()).__proto__===Foo.prototype)//true log(Foo.__proto__===Function.prototype)//true log(Foo.prototype.__proto__===Object.prototype)//true log(Foo.prototype.constructor===Foo)//true

原型链如图(图片来自ibm):


 

继承:

function Extend(Child, Parent) { function Temp() {}; Temp.prototype = new Parent(); Child.prototype.__proto__ = new Temp(); } instanceof 关键字的实现: function isInstanceof(obj, ProtoFunc) { do { if (obj.__proto__ === ProtoFunc.prototype) { return true; } } while (obj = obj.__proto__); return false; }

 

转载于:https://www.cnblogs.com/zhaolihang/p/5261051.html

最新回复(0)