Definição e uso
A propriedade construtora retorna uma referência à função da matriz que criou esse objeto.
gramática
Object.Constructor
Construtor, construtor, todos estamos familiarizados com esse nome. Construtor sempre aponta para o construtor que cria o objeto atual.
Uma coisa a observar aqui é que cada função possui uma propriedade de protótipo, e o construtor desse protótipo aponta para essa função. Neste momento, quando modificamos o protótipo dessa função, ocorreu um acidente. como
função pessoa (nome, idade) {this.name = name; this.age = idade;} pessoa.prototype.getage = function () {return this.age;} pessoa.prototype.getName = function () {return this.name;} var p = new Person (nicholas ", 18); console.log (p.cog; // pessoa (nome, idade) console.log (p.getage ()); //18console.log (p.getName ()); // NicholasMas se sim:
function pessoa (nome, idade) {this.name = name; this.age = idade;} pessoa.prototype = {getName: function () {return this.name;}, getage: function () {return this.age;}} var p = new pessoa ("nicholas", 18); console.log (P. P. // object () console.log (p.getage ()); //18console.log (p.getName ()); // NicholasComo resultado, o construtor mudou.
O motivo é que o próprio protótipo também é um objeto, e o código acima é equivalente a
PERSON.PROTOTYPE = novo objeto ({getName: function () {return this.name;}, getage: function () {return this.age;}});Como o construtor sempre aponta para o construtor que cria o objeto atual, não é difícil entender que o código acima p.Constructor gera um objeto.
O que devo fazer se o construtor depois de modificar o protótipo e ainda quiser apontar para a pessoa? Simples, basta atribuir valor a PERSON.Prototype.Constructor:
Person.prototype = {construtor: pessoa, getName: function () {return this.name;}, getage: function () {return this.age;}}O exposto acima é o construtor do JavaScript apresentado a você pelo editor. Espero que seja útil para todos!