Vamos primeiro olhar para o seguinte código:
Máquina de função (ECODE, HAVERPOWER) {this.ecode = ecode; this.HorsePower = Horavos;} função showMe () {alert (this.name + "" + this.ecode + "" "this.horsepower);} var máquina = new Machine (" code1 ", 15); Machine.Name =" Machine1 "; Machine.ShowMe = showMe;Nesta parte do código, depois de criar um objeto de máquina, a função ShowMe se torna o método da máquina de objeto de máquina através da máquina.ShowMe = ShowMe;
No entanto, depende das duas funções acima (uma é o construtor de objetos e o outro é o método comum) que não têm nada a ver entre si. Esse código não é tão "elegante", então há um protótipo.
// Máquina de função da máquina (ECODE, HAVERPOWER) {this.ecode = ecode; this.HorsePower = Horavos;} // Preste atenção especial a esta frase. Machine.Prototype é inicializado quando é inicializado pela primeira vez. // Ao chamar a máquina como construtor, o valor do mecanismo não mudará novamente a máquina.prototype.engine = this.ecode + "" + this.horsepower; Machine.prototype.showMe = function () {alert (this.name + "" + this.ecode + "" this.horsePower); }Usando o código acima, todos os objetos da máquina têm um método ShowMe.
Mas preste atenção especial a:
O protótipo está apenas enfrentando instâncias, não objetos de classe. (Em JS, a classe em si é um objeto) então Machine.ShowMe (); relatará um erro porque o objeto da máquina não possui um método ShowMe.
Então, como usamos o método ShowMe? Uma nova instância da máquina deve ser criada e apenas a instância da máquina terá esse método.
var máquina = new Machine ("Code1", 15); Machine.Name = "Machine1"; Machine.ShowMe (); // Máquina de saída1 Código1 15.Com o protótipo, é mais fácil implementar relacionamentos de herança. Por exemplo, se eu escrever uma aula de carro agora, preciso herdar a classe atual da máquina e só preciso escrever o seguinte código:
// carro de função do carro (nome, ecode, potência) {this.name = name; // calculando o construtor da classe pai, para que o objeto do carro tenha o ECODE e a potência atribui a máquina.CALL (isto, ecodo, cavalos de potência);} // O protótipo do carro aponta para a máquina, para que o objeto do carro tenha propriedades e métodos do protótipo da máquina, como o showMecar.ProTypey = New Machine ();A anotação é muito clara aqui, então não vou entrar em detalhes.
Em seguida, podemos criar um novo objeto para testá -lo:
// Crie um novo objeto de carro de classe. var xiali = novo carro ("xiali", "aaa", 15); alerta (xiali.engine); xiali.showme ();O exposto acima é a aplicação básica do protótipo, mas também é a aplicação mais importante do protótipo.
O uso do protótipo que você mestre terá uma compreensão mais profunda da construção e herança de objetos no futuro.
Para visualizar mais sintaxe JavaScript, você pode seguir: "Javascript Reference Tutorial" e "Javascript Code Style Guide". Eu também espero que todos apoiem mais wulin.com.