Javascript数组-忽略额外的索引值
在Firefox、Safari和Chrome中使用Javascript(没有尝试IE),会出现以下奇怪行为:Javascript数组-忽略额外的索引值,javascript,arrays,indexing,Javascript,Arrays,Indexing,在Firefox、Safari和Chrome中使用Javascript(没有尝试IE),会出现以下奇怪行为: data = new Array(1,3,5,7,9); data[1,7,3] = 88; alert( data ); // displays: 1,3,5,88,9 显然索引[3]的值已经改变了(其他测试表明它实际上改变了数据[3]) 第二个命令不会生成错误。它甚至不会在NetBeans中生成警告,也不会在浏览器中显示错误 我进一步探讨了这个问题。看来: data[
data = new Array(1,3,5,7,9);
data[1,7,3] = 88;
alert( data ); // displays: 1,3,5,88,9
显然索引[3]的值已经改变了(其他测试表明它实际上改变了数据[3])
第二个命令不会生成错误。它甚至不会在NetBeans中生成警告,也不会在浏览器中显示错误
我进一步探讨了这个问题。看来:
data[1,7,null,NaN,4,3]
也被解释为数据[3]-
这也适用于3以外的其他值。使用列表中的最后一个值,忽略其余值 这种行为是否有某种意义或目的,或者只是解析器中的意外错误 我找不到有关此行为/语法的任何文档或解释。您正在使用 相当于:
data[3] = 88;
那么你的目标是什么?->数据[1,7,3]=88;
data[1,7,3] = 88;
data[3] = 88;