Em conclusão:
Assim como em uma família, o pai é o filho do avô, o pai da criança e o marido da esposa. O objeto de protótipo também é "vários trabalhos".
Se A vem de B novo, chamamos A de uma instância de B. O objeto de protótipo implícito de A é equivalente ao objeto de protótipo explícito de B.
Abaixo está uma explicação simples com o seguinte código e diagrama de relacionamento.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function Mali(name, color) {
this.name = name;
this.color = color;
this.eat = function(){
alert('吃')
}
}
Mali.prototype.jump = function() {
alert('跳高高')
}
Object.prototype.run = function(){
console.log('快跑')
}
var xh = new Mali("xh", 'red');
var xl = new Mali("xl", 'green')
console.log(xh)
console.log(xl)
xh.eat();
xl.jump();
xh.run();
xh.hat();
</script>
</body>
</html>
Diagrama de relacionamento
Como os dois objetos de instância xh e xl são gerados de acordo com o construtor Mali, o objeto protótipo implícito de xh e xl é igual ao objeto protótipo de exibição de Mali. xh._ _ proto __ são todos iguais a Mali.prototype. Assim como um filho chama o pai de avô do pai, eles são todos a mesma pessoa, chamados de diferentes.
E porque o objeto protótipo de Mali (vamos chamá-lo de C por enquanto) é o novo objeto Object, então este objeto em si (objeto C) também é um objeto de instância. (Os novos são todos objetos de instância) O protótipo implícito do objeto C é equivalente ao objeto protótipo exibido do Objeto (objeto D).
Por padrão, o objeto implícito de Object é nulo.
xh.run (); Xiaohong quer chamar o método run. Como ela não o tem, ela foi encontrar seu objeto protótipo (objeto C). Como resultado, não havia objeto C, então ela continuou a procurar, encontrou o objeto D e encontrou D O objeto tem esse método, então Xiaohong chama o método run.A rota que Xiao Hongxun faz no processo do método que ela precisa chamar é chamada de cadeia de protótipo.
Se houver um erro, sinta-se à vontade para corrigi-lo; se você tiver alguma dúvida, deixe uma mensagem para discussão.