我刚刚花了大约15分钟来调试一段JavaScript代码,结果发现问题出在我书写的代码上:
matches.push[[-1]];
替代
matches.push([[-1]]);
就像我所想的那样,其中matches
是一个数组。有人可以解释一下为什么JavaScript在前面没有抛出语法错误,以及它的含义是什么吗?
我刚刚花了大约15分钟来调试一段JavaScript代码,结果发现问题出在我书写的代码上:
matches.push[[-1]];
替代
matches.push([[-1]]);
就像我所想的那样,其中matches
是一个数组。有人可以解释一下为什么JavaScript在前面没有抛出语法错误,以及它的含义是什么吗?
var matches = []; matches.push[2] = "two"; console.log(matches);<- [] // wtf
..? - Redurun code
示例。 - Nina Scholzvar arr = [1,2,3,4]; arr.push["-4"] ; arr; <- [1,2,3,4]
...虚拟机忽略意味着它是有效的吗?然而,我还不明白为什么虚拟机没有抱怨。即使是真的,也绝对不应该使用这个功能。嗯,我想是这样。 - Reduarr.push["-4"]
是一种访问方式,而不是赋值。 - Nina Scholz