JavaScript继承和构造函数属性考虑以下代码。function a() {}function b() {}function c() {}b.prototype = new a();c.prototype = new b();console.log((new a()).constructor);
//a()console.log((new b()).constructor); //a()console.log((new c()).constructor); //a()为什么没有更新b和c的构造函数?我做错继承了吗?更新构造函数的最佳方法是什么?此外,请考虑以下几点。console.log(new a() instanceof a); //trueconsole.log(new b() instanceof b); //trueconsole.log(new c() instanceof c); //true鉴于(new c()).constructor等于a()和Object.getPrototypeOf(new c())是a{ },怎么可能instanceof知道这一点new c()是c?http://jsfiddle.net/ezZr5/
添加回答
举报
0/150
提交
取消