JavaScript 两种for循环方式的异同

今天一不小心发现一个小细节,看看以下两种for循环方式的相异之处。

<script type="text/javascript">

var arr = [1, 2, 3];

for(var i = 0; i < arr.length; i++) {

}

alert(i);

for(var j in arr) {

}

alert(j);

</script>

你会发现第一个显示3,第二个显示2。