Ich versuche das Konzept des Prototyping in JS zu verstehen. Ich habe das folgende Beispiel gefunden. Ich habe mich gefragt, ob die Funktion außerhalb des Objekts deklariert ist. Hilft es Ressourcen zu sparen?Warum Funktionen außerhalb von Objekten platzieren?
JS
function Animal (name) {
this.name = name;
}
Animal.prototype.speak = function() {
console.log(this.name + ' makes a noise.');
}
Es hat nicht mit Leistung oder "Ressourcen zu sparen" zu tun. Dieses Beispiel zeigt, dass Sie eine Methode der Tierklasse mithilfe eines Prototyps hinzufügen können. Relevant: http://sporto.github.io/blog/2013/02/22/a-plain-english-guide-to-javascript-prototypes/ –
Ich denke, dass es, weil Sie es einmal statt für jede Instanz deklarieren von Tier. –
Sie setzen keine "Funktionen außerhalb von Objekten". Es wäre genauer zu sagen, dass Sie "Prototyp-Methodendefinitionen außerhalb des Konstruktors" setzen. –