Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

เกิดอะไรขึ้นเมื่อตั้งค่า length ของอ็อบเจ็กต์เป็น 0 - JavaScript

มีอาร์เรย์: ["John", "David", "Mike"]

ใช้ property length ตั้งค่าเป็น 0 เพื่อล้างหน่วยความจำ

yourArrayObjectName.length = 0; // ล้างหน่วยความจำ
yourArrayObjectName.length = 4; // จัดสรรหน่วยความจำ

ตัวอย่างโค้ด

var arrayObject = ["John", "David", "Mike"];
arrayObject.length = 0;
console.log(arrayObject);
arrayObject.length = 5;
for (var i = 0; i < arrayObject.length; i++)
  console.log(arrayObject[i]);

รันด้วยคำสั่ง:

node fileName.js

ชื่อไฟล์: demo277.js

ผลลัพธ์

PS C:\Users\Amit\javascript-code> node demo277.js
[]
undefined
undefined
undefined
undefined
undefined

คำอธิบาย: ตั้ง length = 0 ล้างข้อมูลทั้งหมด ตั้ง length = 5 ขยายอาร์เรย์เป็น 5 ช่อง ค่าเป็น undefined (empty slots) ไม่ใช่ค่าจริง

ข้อควรระวัง: การตั้ง length ใหญ่กว่าเดิมจะสร้าง "sparse array" มีช่องว่าง ซึ่งอาจทำให้การวนลูปพฤติกรรมแตกต่าง