Definisi dan penggunaan
Properti Konstruktor mengembalikan referensi ke fungsi array yang membuat objek ini.
tata bahasa
Object.constructor
Konstruktor, konstruktor, kita semua akrab dengan nama ini. Konstruktor selalu menunjuk pada konstruktor yang menciptakan objek saat ini.
Satu hal yang perlu diperhatikan di sini adalah bahwa setiap fungsi memiliki properti prototipe, dan konstruktor prototipe ini menunjuk ke fungsi ini. Pada saat ini, ketika kami memodifikasi prototipe fungsi ini, kecelakaan terjadi. menyukai
function person (name, use) {this.name = name; this.age = age;} person.prototype.getage = function () {return this.age;} person.prototype.getName = function () {return this.name;} var p = new person ("nicholas", 18); console.log (p.construct (p.construct) ("nicholas", 18); console.log (p.constructor (p.construct); // orang (nama, usia) console.log (p.getage ()); //18console.log (p.getName ()); // NicholasTetapi jika demikian:
function person (name, use) {this.name = name; this.age = age;} person.prototype = {getName: function () {return this.name;}, getage: function () {return this.age;}} var p = new person ("nicholas", 18); console.log (p.constructor) // objek () console.log (p.getage ()); //18console.log (p.getName ()); // NicholasAkibatnya, konstruktor berubah.
Alasannya adalah prototipe itu sendiri juga merupakan objek, dan kode di atas setara dengan
Person.prototype = objek baru ({getName: function () {return this.name;}, getage: function () {return this.age;}});Karena konstruktor selalu menunjuk pada konstruktor yang membuat objek saat ini, tidak sulit untuk memahami bahwa kode di atas konstruktor menghasilkan objek.
Apa yang harus saya lakukan jika konstruktor setelah memodifikasi prototipe dan masih ingin menunjuk ke orang? Sederhana, cukup tetapkan nilai untuk orang.prototype.constructor:
Person.prototype = {constructor: person, getName: function () {return this.name;}, getage: function () {return this.age;}}Di atas adalah konstruktor dalam JavaScript yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu semua orang!