Quando criamos um objeto com um construtor, suas propriedades serão adicionadas a isso. E os atributos adicionados a isso não mudarão com a entidade e, neste momento, nossa abordagem parecerá ineficiente. Por exemplo:
funcione ela () {this.name = 'anna';}Isso significa que toda vez que criamos um objeto de instância com o novo (), geramos um atributo de nome novo e temos seu próprio espaço de armazenamento na memória que pertence ao atributo. De fato, podemos adicionar o atributo de nome ao protótipo, para que todas as instâncias possam compartilhar esse atributo de nome:
funcione ela () {} her.prototype.name = 'Anna';Dessa forma, quando usamos o novo dela () para criar um objeto, o atributo de nome não é mais uma propriedade privada do novo objeto, mas é adicionada ao protótipo do objeto. Embora essa abordagem seja muito eficiente, também é para as propriedades imutáveis no objeto de instância. Isso é certo. Se você alterar essa propriedade, o atributo de todos os novos objetos criados será alterado. Não é isso que queremos ~~~. As propriedades públicas de um objeto são particularmente adequadas para essa abordagem.
Aqui, vamos melhorar um exemplo anterior:
funcione ela () {}; her.prototype.name = 'anna'; her.prototype.toString = function () {return this.name;} function his () {}; his.prototype = new Her (); his.prototype.constructor = his; his.prototype.sex = 'Women';Como você pode ver, geralmente concluímos a construção de herança relevante antes de expandir o objeto do protótipo, caso contrário, os novos métodos de atributo subsequentes em seu.Prototipo podem apagar as coisas herdadas.
função filho (f, m) {this.eat = f; this.don = m;} child.prototype = new his (); child.prototype.constructor = child; criança.prototype.name = 'Jok'; Child.prototype.fun = function () {return this.eat + this.don}Como você pode ver, a diferença entre chamar ToString () é realmente apenas o pequeno número de operações nos bastidores. A principal diferença são as propriedades, o trabalho de pesquisa dos métodos acontecerá mais nela. Prototipo.
O método de implementação do JavaScript acima de migrar atributos compartilhados para o protótipo é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.