我有一个开放层功能,如下所示:
var ROLE = new Feature();
ROLE: _ol_Feature_ {pendingRemovals_: {…}, dispatching_: {…}, listeners_: {…}, revision_: 0, ol_uid: 22555, …}
当我为此功能执行这段代码时,它将返回false。
if(ROLE instanceof Feature) //returns false
我不明白为什么条件为假。
答案 0 :(得分:1)
instanceof
在Javascript中的工作方式是检查对象的“原型链”。如果需要,可以在线阅读有关Javascript原型继承的信息,但是要理解的重要部分是:
foo instanceof Foo
是的,必须从foo
创建Foo
,例如:
const foo = new Foo();
但是,您的调试输出似乎显示您的ROLE
变量是通过实例化_ol_Feature_
函数创建的,因此它不会是Feature
的实例。