无法识别instanceof功能

时间:2020-04-13 21:23:56

标签: javascript if-statement openlayers

我有一个开放层功能,如下所示:

var ROLE = new Feature();
ROLE: _ol_Feature_ {pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, revision_: 0, ol_uid: 22555, …}

当我为此功能执行这段代码时,它将返回false。

if(ROLE instanceof Feature) //returns false

我不明白为什么条件为假。

1 个答案:

答案 0 :(得分:1)

instanceof在Javascript中的工作方式是检查对象的“原型链”。如果需要,可以在线阅读有关Javascript原型继承的信息,但是要理解的重要部分是:

foo instanceof Foo

是的,必须从foo创建Foo,例如:

const foo = new Foo();

但是,您的调试输出似乎显示您的ROLE变量是通过实例化_ol_Feature_函数创建的,因此它不会是Feature的实例。