ECMA-262 กำหนดวัตถุเป็น: "คอลเลกชันของแอตทริบิวต์ที่ไม่ได้เรียงลำดับซึ่งแอตทริบิวต์สามารถมีค่าพื้นฐานวัตถุหรือฟังก์ชั่น"
วิธีที่ง่ายที่สุดในการทำความเข้าใจวัตถุคือการสร้างอินสแตนซ์ของวัตถุจากนั้นเพิ่มคุณสมบัติและวิธีการลงไปในนั้น
การคัดลอกรหัสมีดังนี้:
var person = new Object ();
person.name = "xulei";
person.age = "23";
person.job = "วิศวกรส่วนหน้า";
person.sayname = function () {
การแจ้งเตือน (this.name);
-
คุณยังสามารถเขียนสิ่งนี้ได้
การคัดลอกรหัสมีดังนี้:
var person = {
ชื่อ: "xulei",
อายุ: 23,
งาน: "โครงการส่วนหน้า",
sayname: function () {
การแจ้งเตือน (this.name)
-
-
1. แอตทริบิวต์ประเภท: คุณลักษณะข้อมูลและเข้าถึงคุณลักษณะของพวกเขา
1. คุณลักษณะข้อมูลที่มี 4 ลักษณะที่อธิบายพฤติกรรมของพวกเขา
[กำหนดค่าได้]: ระบุว่าแอตทริบิวต์สามารถลบได้เพื่อกำหนดแอตทริบิวต์ใหม่ไม่ว่าคุณลักษณะของแอตทริบิวต์สามารถแก้ไขได้หรือไม่หรือแอตทริบิวต์สามารถแก้ไขได้กับแอตทริบิวต์ accessor ค่าเริ่มต้นจะเป็นจริง
[enumerable]: ระบุว่าแอตทริบิวต์สามารถส่งคืนผ่านไปไม่ได้หรือไม่ค่าเริ่มต้นนั้นเป็นจริง
[Writable]: ระบุว่าสามารถแก้ไขแอตทริบิวต์ได้หรือไม่ค่าเริ่มต้นนั้นเป็นจริง
[ค่า]: มีค่าข้อมูลของคุณสมบัตินี้ ค่าเริ่มต้นไม่ได้กำหนดไว้
การคัดลอกรหัสมีดังนี้:
var person = {
ชื่อ: "xulei"
-
วัตถุบุคคลถูกสร้างขึ้นที่นี่และค่าคือ "xulei"
ในการแก้ไขคุณสมบัติเริ่มต้นของคุณสมบัติวัตถุของ ECMASCRIPT5 DEFINEPROPERTY (วัตถุที่มีคุณสมบัติอยู่ชื่อของคุณสมบัติจะต้องใช้วัตถุ descriptor))) จะต้องใช้))
วัตถุ descriptor จะต้องกำหนดค่าสามารถกำหนดได้, เขียนได้, ค่า
การคัดลอกรหัสมีดังนี้:
var peron = {}
Object.defineProperty (Peron, "Name", {
เขียนได้: เท็จ // คุณสมบัติไม่สามารถแก้ไขได้
ค่า: "xu lei-xulei"
-
การแจ้งเตือน (peron.name); // xulei-xulei
peron.name = "xu lei";
การแจ้งเตือน (peron.name); // xulei-xulei
การดำเนินการข้างต้นจะถูกละเว้นในโหมดที่ไม่ใช่ Strict และข้อยกเว้นจะถูกโยนลงในโหมดเข้มงวด
เมื่อคุณสมบัติถูกกำหนดให้เป็นสิ่งที่ไม่สามารถกำหนดค่าได้ก็จะไม่สามารถเปลี่ยนกลับเป็นแบบกำหนดค่าได้
ในกรณีส่วนใหญ่ไม่จำเป็นต้องใช้คุณลักษณะขั้นสูงเหล่านี้ที่จัดทำโดย method.defineProperty () แต่มันมีประโยชน์มากสำหรับการทำความเข้าใจ JavaScript
ผู้อ่านควรไม่ใช้วิธีนี้ใน IE8
2. เข้าถึงคุณสมบัติของมันมี 4 ลักษณะ
[กำหนดค่าได้]: ระบุว่าแอตทริบิวต์สามารถลบได้เพื่อกำหนดแอตทริบิวต์ใหม่ไม่ว่าคุณลักษณะของแอตทริบิวต์สามารถแก้ไขได้หรือไม่หรือแอตทริบิวต์สามารถแก้ไขได้กับแอตทริบิวต์ accessor ค่าเริ่มต้นจะเป็นจริง
[enumerable]: ระบุว่าแอตทริบิวต์สามารถส่งคืนผ่านไปไม่ได้หรือไม่ค่าเริ่มต้นนั้นเป็นจริง
[รับ]: ฟังก์ชั่นที่เรียกเมื่ออ่าน
[SET]: ฟังก์ชั่นเรียกเมื่อเขียนแอตทริบิวต์