今天在看javascript权威指南时,发现IE8(ie9及ie10没有测试)与以及firefox(版本:23)和chrome(版本:28)中的javascript解释器的处理结果均不一样,并且firefox及chrome下的运行结果也与权威指南(第6版)上说的不一致;
<script>
var arrTest = [,,,];
alert(0 in arrTest);
alert(arrTest.length);
</script>
上面的这段代码,在IE中执行结果为: false,4;在firefox和chrome中执行结果为false,3;而权威指南中说的结果为:true,3;
该数组在ie,firefox,chrome中in 操作符返回结果均为false,权威指南中写的结果为true;而长度在ie中为4,firefox,chrome及权威指南中为3;
<script>
var arrTest = [undefined,undefined,undefined,undefined];
alert(0 in arrTest);
alert(arrTest.length);
</script>
上面的代码段在IE中执行结果为: false,4;在firefox和chrome中执行结果为true,4;而权威指南中说的结果为:true,4;
上面的数组在ie中的执行结果为:false,firefox,chrome,及权威指南中执行结果均为true,长度四种说法均保持一致为4;