JavaScript继承和构造函数属性

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/


呼啦一阵风
浏览 352回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript