คำจำกัดความและการใช้งาน
คุณสมบัติตัวสร้างจะส่งคืนการอ้างอิงไปยังฟังก์ชั่นอาร์เรย์ที่สร้างวัตถุนี้
ไวยากรณ์
Object.constructor
คอนสตรัคเตอร์ตัวสร้างเราทุกคนคุ้นเคยกับชื่อนี้ ตัวสร้างชี้ไปที่ตัวสร้างที่สร้างวัตถุปัจจุบันเสมอ
สิ่งหนึ่งที่ควรทราบที่นี่คือแต่ละฟังก์ชั่นมีคุณสมบัติต้นแบบและตัวสร้างของต้นแบบนี้ชี้ไปที่ฟังก์ชั่นนี้ ในเวลานี้เมื่อเราแก้ไขต้นแบบของฟังก์ชั่นนี้เกิดอุบัติเหตุเกิดขึ้น ชอบ
ฟังก์ชั่นบุคคล (ชื่อ, อายุ) {this.name = name; this.age = age;} person.prototype.getage = function () {return this.age;} person.prototype.getName = function () {ส่งคืนสิ่งนี้ name;} var p = บุคคลใหม่ ("Nicholas", 18) // บุคคล (ชื่อ, อายุ) console.log (p.getage ()); //18console.log (P.GetName ()); // นิโคลัสแต่ถ้าเป็นเช่นนั้น:
ฟังก์ชั่นบุคคล (ชื่อ, อายุ) {this.name = name; this.age = อายุ;} person.prototype = {getName: function () {return this.name;}, getage: function () {return.age;}} var p = บุคคลใหม่ ("Nicholas", 18) // object () console.log (p.getage ()); //18console.log (P.GetName ()); // นิโคลัสเป็นผลให้ตัวสร้างเปลี่ยน
เหตุผลก็คือต้นแบบเองก็เป็นวัตถุและรหัสข้างต้นเทียบเท่ากับ
person.prototype = วัตถุใหม่ ({getName: function () {return this.name;}, getage: function () {return this.age;}});เนื่องจากตัวสร้างชี้ไปที่ตัวสร้างที่สร้างวัตถุปัจจุบันเสมอจึงไม่ยากที่จะเข้าใจว่ารหัสด้านบน P.Constructor ส่งออกวัตถุ
ฉันควรทำอย่างไรถ้าตัวสร้างหลังจากแก้ไขต้นแบบและยังต้องการให้มันชี้ไปที่บุคคล? ง่าย ๆ เพียงแค่กำหนดค่าให้กับ person.prototype.constructor:
person.prototype = {constructor: person, getName: function () {return this.name;}, getage: function () {return this.age;}}ด้านบนเป็นตัวสร้างใน JavaScript แนะนำให้คุณรู้จักโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน!