ใน JavaScript ยกเว้นหมายเลข, สตริง, บูลีน, null และ undefined ค่าอื่น ๆ ทั้งหมดเป็นวัตถุ วัตถุสามารถประกาศโดยตรงผ่านตัวอักษรหรือสร้างใหม่ผ่านตัวดำเนินการใหม่ ไม่เหมือนกับภาษา Java คุณสมบัติในวัตถุ JavaScript สามารถเพิ่มหรือลบได้แบบไดนามิก ในเวลาเดียวกันคุณสมบัติในวัตถุอาจเป็นสตริงที่ว่างเปล่า:
การคัดลอกรหัสมีดังนี้:
// คุณสมบัติในวัตถุสามารถเพิ่ม/ลบแบบไดนามิกได้
var o = {x: 1, y: 2};
console.log (o); // object {x = 1, y = 2}
ลบ OY;
Oz = 3;
console.log (o); // object {x = 1, z = 3}
// อนุญาตให้ใช้สตริงว่างเป็นคุณสมบัติวัตถุ
var o2 = {"": 88, "p": 99};
console.log (o2); // object {= 88, p = 99}
// สำหรับฟังก์ชั่นตัวสร้างการดำเนินการ "ใหม่" ส่งคืนวัตถุ
ฟังก์ชั่นคอมพิวเตอร์ (x, y) {
this.x = x;
this.y = y;
-
var c = คอมพิวเตอร์ใหม่ (126, 163);
console.log (c); // คอมพิวเตอร์ {x = 126, y = 163}
var c2 = คอมพิวเตอร์ใหม่ (126); // ค่าพารามิเตอร์ที่หายไปจะเป็น "ไม่ได้กำหนด"
console.log (c2); // คอมพิวเตอร์ {x = 126, y = undefined}
CZ = 66;
console.log (c); // คอมพิวเตอร์ {x = 126, y = 163, z = 66}
ลบ Cy;
console.log (c); // คอมพิวเตอร์ {x = 126, z = 66}
หากฟังก์ชั่นที่ใช้งานไม่ได้เป็นตัวสร้างคลาส แต่เป็นเพียงฟังก์ชั่นธรรมดาเมื่อใช้ตัวดำเนินการใหม่เพื่อสร้างวัตถุใหม่ JavaScript จะส่งคืนวัตถุเปล่าหลังจากดำเนินการฟังก์ชัน:
การคัดลอกรหัสมีดังนี้:
// สำหรับฟังก์ชั่นบริสุทธิ์การดำเนินการ "ใหม่" ส่งคืนวัตถุที่ว่างเปล่า
ฟังก์ชั่นคำนวณ (x) {
console.log ("ดำเนินการคำนวณฟังก์ชั่น");
กลับ x*2;
-
var a = new compute ();
console.log (a); // compute {}
คุณสมบัติวัตถุ
วัตถุใน JavaScript มีคุณสมบัติ 3 ประการต่อไปนี้:
1.prototype การอ้างอิงชี้ไปที่วัตถุต้นแบบของวัตถุ คุณสมบัติในวัตถุต้นแบบสามารถสืบทอดได้โดยวัตถุ
2. คลาส สตริงที่แสดงชื่อคลาสของวัตถุ
3. สามารถขยายได้ ค่าบูลีนแสดงว่าอนุญาตให้มีการเพิ่มคุณสมบัติแบบไดนามิกในวัตถุหรือไม่ คุณสมบัตินี้ใช้ได้เฉพาะใน eCmascript 5
อสังหาริมทรัพย์
คุณสมบัติในวัตถุยังมี 3 คุณสมบัติ:
1. Wwlitable. ทรัพย์สินนี้เขียนได้หรือไม่?
2.-uremerable เมื่อใช้คำสั่ง FOR/In คุณสมบัติจะถูกแจกแจงหรือไม่?
3. กำหนดค่าได้ ไม่ว่าจะเป็นคุณสมบัติของคุณสมบัติหรือไม่และสามารถลบคุณสมบัติได้หรือไม่