การใช้งานเช่น for(var i=0;i<len;i++) โดยทั่วไปสามารถถูกแทนที่ด้วย for in
ตัวอย่างเช่น:
คัดลอกรหัสรหัสดังต่อไปนี้:
วาร์ a = ["a", "b", "c"];
สำหรับ (var el ใน a) {
การแจ้งเตือน (a[el]);
-
นี่คือการแจกแจงองค์ประกอบทั้งหมดใน a แน่นอนว่าตัวอย่างข้างต้นสามารถใช้ได้
คัดลอกรหัสรหัสดังต่อไปนี้:
สำหรับ(var i=0,len=a.length;i<len;i++){
การแจ้งเตือน (a[i]);
-
วิธีนี้ใช้เพื่อแสดงรายการในลูป แต่บางครั้งวิธีนี้อาจไม่ทำงาน
ตัวอย่างเช่น:
คัดลอกรหัสรหัสดังต่อไปนี้:
var a = {"ครั้งแรก":1,"วินาที":2,"ที่สาม":3};
ในขณะนี้ คุณสามารถใช้ for in เพื่อหมดรายการได้เท่านั้น
ไม่ว่าวัตถุจะสามารถตัดสินได้อย่างละเอียดถี่ถ้วนผ่านแอตทริบิวต์ propertyIsEnumerable หรือไม่ คำอธิบายจะเป็นดังนี้:
คุณสมบัติเป็นคุณสมบัตินับได้
ส่งกลับค่าบูลีนที่ระบุว่าคุณสมบัติที่ระบุเป็นส่วนหนึ่งของออบเจ็กต์หรือไม่ และคุณสมบัตินั้นสามารถนับได้หรือไม่
คัดลอกรหัสรหัสดังต่อไปนี้:
object.propertyIsEnumerable (proName)
พารามิเตอร์
วัตถุ
ที่จำเป็น. วัตถุ
proName
ที่จำเป็น. ค่าสตริงสำหรับชื่อคุณสมบัติ
แสดงให้เห็น
คุณสมบัติ propertyIsEnumerable จะคืนค่าเป็นจริงหากมี proName อยู่ในอ็อบเจ็กต์และสามารถระบุได้โดยใช้ For...In loop ถ้าวัตถุไม่มีคุณสมบัติที่ระบุหรือคุณสมบัติที่ระบุไม่สามารถนับได้ คุณสมบัติ propertyIsEnumerable จะส่งกลับค่าเท็จ โดยทั่วไป คุณสมบัติที่กำหนดไว้ล่วงหน้าจะไม่สามารถนับได้ ในขณะที่คุณสมบัติที่ผู้ใช้กำหนดจะสามารถนับได้เสมอ
คุณสมบัติ propertyIsEnumerable ไม่พิจารณาอ็อบเจ็กต์ในห่วงโซ่ต้นแบบ