嗯,为了调试,我经常使用console.log
&它将消息输出到Web控制台。但我不知道为什么我在instanceof
运算符中得到了不同的结果。
console.log("Hello "+"Code!!"); //Prints `Hello Code!!` - Correct
console.log("Hello ","Code!!"); //Prints `Hello Code!!` - Correct
console.log("Hello "+"Code!! : "+Math.PI); //Prints `Hello Code!! : 3.141592653589793` - Correct
console.log("Result ",[] instanceof Array); //Prints `Result true` - Correct
但下面的行给出的输出为false
。为什么它不是Result true
?
console.log("Result "+[] instanceof Array); //Prints `false` Why?
答案 0 :(得分:1)
您需要将两个实例分开......
console.log("Result "+([] instanceof Array)); // Result true
因为这不是数组 - > "Result "+[]
当你使用逗号时,你将两者分开,这就是它起作用的原因 当你使用+时,它将两者组合成一个字符串,然后检查它是否是一个数组
答案 1 :(得分:1)
因为这段代码:
console.log("Result "+[] instanceof Array); //Prints `false` Why?
实际上将String
(“结果”)“添加”到Array
([]),等于一个字符串。见这个例子:
console.log(typeof("simple string"+[])); // Will print "string"
和String,绝对不是instanceof
数组: - )