ในส่วนใหญ่ ควรใช้ 'for' Loop ธรรมดา แทน "for...in" Loop เพราะ "for...in" คืนค่า Indexes และไม่สนใจ Leftover Indexes ในขณะที่ "for" Loop ธรรมดาแสดง Values และใน Leftover Indexes จะมีค่า 'undefined' เพื่อไม่ให้ Developer 混淆
Syntax-1
for (var x in array) { // code };
Syntax สำหรับ "for...in" Loop
Syntax-2
for () { // code };
Syntax สำหรับ "for" Loop ธรรมดา
ตัวอย่างที่ 1
ในตัวอย่างนี้ Array "num" เดิมมี 5 ตัวเลข (Indexes 0-4) เมื่อเพิ่ม Index 7 ที่ห่างจาก Index 'four' เข้า Array ต่อเนื่อง Indexes ถูก Execute โดยไม่แจ้งเตือน Leftover Indexes (5 และ 6) ไม่ใช่กรณีของ Normal "for" Loop อาจทำให้ Developer หงุดหงิด
<html> <body> <script> var num = [1,2,3,4,5]; num[7] = 7; for (var x in num) { document.write(x); document.write("</br>"); } </script> </body> </html>
ผลลัพธ์
0 1 2 3 4 7
ตัวอย่างที่ 2
ในตัวอย่างนี้ แตกต่างจาก "for...in" Loop ใน Normal "for" Loop แสดง Values แทน Indexes และใน Leftover Indexes ค่า undefined จะ Execute เพื่อไม่ให้ Developer หงุดหงิด
<html> <body> <script> var num = [1,2,3,4,5]; num[7] = 7; for (var i = 0; i < num.length; i++) { document.write(num[i]); document.write("</br>"); } </script> </body> </html>
ผลลัพธ์
1 2 3 4 5 undefined undefined 7