Kin*_*rog 5 javascript instanceof
在Stoyan Stefanov的书"面向对象的javascript"中,他在第103页上有以下内容.但是,当我尝试这个时,我会得到一个不同的结果h instanceof Object.我错过了什么,JS中有什么东西改变了,或者这是书中的错误.
>>> function Hero(){}
>>> var h = new Hero();
>>> var o = {};
>>> h instanceof Hero;
true
>>> h instanceof Object;
false //true in Google Chrome
>>> o instanceof Object;
true
Run Code Online (Sandbox Code Playgroud)


如果书上是这么说的,那这本书就是错的。(在 Amazon.com 中搜索该书内容证实了该错误。)
您true在 Google Chrome 中获得的结果是正确的结果。
当h对象继承自.prototype函数时Hero,对象.prototype继承自.prototype函数Object。这意味着h继承自Hero.prototype和Object.prototype,并且被视为两个构造函数的实例。
唯一不会出现这种情况的方法是,如果Hero.prototype是一个不继承自 的对象Object.prototype。但在该示例中,它使用默认对象,因此它确实继承了。
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |