我在Chrome中试验了一下instanceof
,但是出现了错误消息。我认为我知道原因(必须在instanceof
关键字后提供一个函数,该函数是对象创建时使用的构造函数),但错误消息似乎在陈述其他事情:
[1,2,3] instanceof Array
// true
[1,2,3] instanceof []
// TypeError: Expecting a function in instanceof check, but got 1,2,3
这是否意味着我应该用一个函数来替换[1,2,3]
?我认为[1,2,3]
是正确的,而[]
才是问题所在,需要用一个函数来替换它,但错误信息似乎表明相反。
请有人解释一下我如何错误地解释了错误信息吗?
var obj={x:1};var class_one=function(){};class_one.prototype=obj;var class_two=function(){};class_two.prototype = obj;var inst = new class_one;inst instanceof class_two;
- Brian