Qual è la differenza tra queste 2 implementazioni dell'ereditarietà prototipale e considerando che stiamo lavorando con 2 diversi "prototipi" (la proprietà prototipo che è solo sulle funzioni e il prototipo interno) e in che modo queste implementazioni differiscono nel loro prototipo ricerca a catena? Inoltre, la prima implementazione (utilizzando la proprietà prototype) si basa sul nostro utilizzo dell'operatore new
?Qual è la differenza tra queste 2 implementazioni dell'ereditarietà prototipale?
Assegnazione di proprietà da funzioni prototype
e con il new
esercente:
function foo() {}
foo.prototype.output = function(){
console.log('inherits from Function.prototype property');
};
bar = new foo();
bar.output();
memorizzazione di una funzione in un oggetto letterale e utilizzando il metodo Object.create()
:
var foo = {
output: function(){
console.log('inherits from the internal prototype');
}
};
var bar = Object.create(foo);
bar.output();
Una differenza è che 'Object.create' è più recente, e non è supportato in IE8 e sotto – keune
non vedo prototipale ** ** eredità nei tuoi esempi. – hindmost
@hindmost puoi elaborare per favore? – shmuli