javascript中的继承, 找回丢失的constructor

来源:互联网 发布:淘宝店的押金怎么退 编辑:程序博客网 时间:2024/05/11 16:53
autho: selfimpr
blog: http://blog.csdn.net/lgg201
mail: lgg860911@yahoo.com.cn
javascript的继承方案: 
1. 子类构造器中以自身对象作为宿主对象对父类进行调用.
 
2. 原型链: 上面的方法对于父类在构造器外通过prototype设置的成员是无法继承的, 而原型链的方式能够解决这个问题, 并且, 从语法角度来看, 这才是真正的继承, 因为instanceof能够检测到子类对象和父类存在关系.  当然, 这种方式是有缺点的, 那就是只能单继承
 
3. 上面的原型链方式其实有一点不足, 那就是当我们创建一个Admin的对象之后, 然后获取它的constructor, 得到的是User构造器, 而理想情况下, 这应该是Admin的构造器. 所以, 我们需要对上面的继承再进行少许的修改: 在子类构造器中保留对象对自己构造器的引用
代码如下:
 
原创粉丝点击