定义了数组后对数组进行赋值,中间如有某些下标未被使用(即未被赋值),在遍历的时候,采用一般的 for 循环和 for...in 循环得到的结果不同。
for...in 循环会自动跳过那些没被赋值的元素,而 for 循环则不会,它会显示出 undefined。
点击下面的按钮,循环遍历
onclick="myFunction()">点击这里
id="demo">
</span><span style="color: #000000;"></span></div><div><span style="color: #000088;">function</span><span style="color: #000000;"> myFunction</span><span style="color: #666600;">(){</span><span style="color: #000000;"></span></div><div> <span style="color: #000088;">var</span><span style="color: #000000;"> array </span><span style="color: #666600;">=</span><span style="color: #000000;"> </span><span style="color: #000088;">new</span><span style="color: #000000;"> </span><span style="color: #660066;">Array</span><span style="color: #666600;">();</span><span style="color: #000000;"></span></div><div> <span style="color: #000088;">var</span><span style="color: #000000;"> x</span><span style="color: #666600;">;</span><span style="color: #000000;"></span></div><div> <span style="color: #000088;">var</span><span style="color: #000000;"> txt</span><span style="color: #666600;">=</span><span style="color: #008800;">""</span><span style="color: #000000;"></span></div><div> array<span style="color: #666600;">[</span><span style="color: #006666;">0</span><span style="color: #666600;">]</span><span style="color: #000000;"> </span><span style="color: #666600;">=</span><span style="color: #000000;"> </span><span style="color: #006666;">1</span><span style="color: #666600;">;</span><span style="color: #000000;"></span></div><div> array<span style="color: #666600;">[</span><span style="color: #006666;">3</span><span style="color: #666600;">]</span><span style="color: #000000;"> </span><span style="color: #666600;">=</span><span style="color: #000000;"> </span><span style="color: #006666;">2</span><span style="color: #666600;">;</span><span style="color: #000000;"></span></div><div> array<span style="color: #666600;">[</span><span style="color: #006666;">4</span><span style="color: #666600;">]</span><span style="color: #000000;"> </span><span style="color: #666600;">=</span><span style="color: #000000;"> </span><span style="color: #006666;">3</span><span style="color: #666600;">;</span><span style="color: #000000;"></span></div><div> array<span style="color: #666600;">[</span><span style="color: #006666;">10</span><span style="color: #666600;">]</span><span style="color: #000000;"> </span><span style="color: #666600;">=</span><span style="color: #000000;"> </span><span style="color: #006666;">4</span><span style="color: #666600;">;</span><span style="color: #000000;"></span></div><div> <span style="color: #000088;">for</span><span style="color: #666600;">(</span><span style="color: #000000;"> x in array </span><span style="color: #666600;">){</span><span style="color: #000000;"></span></div><div> alert<span style="color: #666600;">(</span><span style="color: #000000;">array</span><span style="color: #666600;">[</span><span style="color: #000000;">x</span><span style="color: #666600;">]);</span><span style="color: #000000;"> </span><span style="color: #880000;">// 依次显示出 1 2 3 4</span><span style="color: #000000;"></span></div><div> <span style="color: #666600;">}</span><span style="color: #000000;"> </span></div><div> alert<span style="color: #666600;">(</span><span style="color: #000000;">array</span><span style="color: #666600;">.</span><span style="color: #000000;">length</span><span style="color: #666600;">);</span><span style="color: #000000;"> </span><span style="color: #880000;">// 结果是11</span><span style="color: #000000;"></span></div><div> <span style="color: #000088;">for</span><span style="color: #666600;">(</span><span style="color: #000000;"> </span><span style="color: #000088;">var</span><span style="color: #000000;"> i</span><span style="color: #666600;">=</span><span style="color: #006666;">0</span><span style="color: #000000;"> </span><span style="color: #666600;">;</span><span style="color: #000000;"> i</span><span style="color: #666600;"><</span><span style="color: #006666;">4</span><span style="color: #000000;"> </span><span style="color: #666600;">;</span><span style="color: #000000;"> i</span><span style="color: #666600;">++){</span><span style="color: #000000;"></span></div><div> alert<span style="color: #666600;">(</span><span style="color: #000000;">array</span><span style="color: #666600;">[</span><span style="color: #000000;">i</span><span style="color: #666600;">]);</span><span style="color: #000000;"> </span><span style="color: #880000;">// 依次显示出 1 undefined undefined 2 </span><span style="color: #000000;"></span></div><div> <span style="color: #666600;">}</span><span style="color: #000000;"></span></div><div> document<span style="color: #666600;">.</span><span style="color: #000000;">getElementById</span><span style="color: #666600;">(</span><span style="color: #008800;">"demo"</span><span style="color: #666600;">).</span><span style="color: #000000;">innerHTML </span><span style="color: #666600;">=</span><span style="color: #000000;"> txt</span><span style="color: #666600;">;</span><span style="color: #000000;"></span></div><div><span style="color: #666600;">}</span><span style="color: #000000;"></span></div><div><span style="color: #000088;">