Frequentemente entrevistando no front end ou se comunicando com outros colegas é que, quando se trata de construir um construtor no JS, é melhor usar protótipos: defina o método no protótipo do construtor. A vantagem é que os métodos gerados pelo construtor apontam para o índice de uma função, que pode salvar a memória.
Obviamente, não há nenhum problema com esta afirmação. É apenas que, em termos de implementação, não é apenas possível alcançar esse efeito usando o protótipo. Podemos definir o método fora do construtor na forma de uma função e, em seguida, usá -lo.method = método no construtor. Dessa maneira, os métodos de instância gerados também apontam para uma função através do índice, como segue:
// Nenhum método de definição de protótipo é usado: (function () {function Constractor () {this.method1 = method1; this.method2 = method2;} função method1 () {} função method2 () {}}}) ();Geralmente, ao usar a definição de protótipo, o código é o seguinte:
(function () {function Constractor () {} constator.prototype = {Method1: function () {}, métodos2: function () {}}; // ou constator.prototype.method1 = function () {};Não há nada profundo na teoria e implementação. É apenas que, para alcançar o mesmo objetivo, maneiras diferentes podem ser usadas. No entanto, esse método não funciona ao usar a instância do operador para julgar o relacionamento de herança.
A explicação detalhada dos benefícios do uso de protótipos no JS é o conteúdo completo compartilhado pelo editor. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.