Presume Ho un oggetto come questo:Come emulare un costruttore con ES5 Object.create e la sintassi letterale dell'oggetto?
var Foo = {
x: 5,
sprite: new Image()
}
Problema: Voglio inizializzare che sprite con lo src destra. Tuttavia, quando uso la seguente tecnica di creazione:
var f = Object.create(Foo);
non ho un metodo di costruzione (funzione aka init) per impostare sprite.src = 'cool.png';
La mia domanda:
se sto usando l'oggetto tecnica letterale e Object.create()
, quando posso effettivamente inizializzare alcuni dei miei stato interno (come l'esempio del new Image()
)
la mia soluzione:
var Foo = {
create: function() {
var f = Object.create(Foo);
f.sprite.src = 'cool.png';
return f;
}
}
Tuttavia, non so se questo è un grande schema. Mi piacerebbe fare questo il "JavaScript Way" se c'è un modo. :)
Grazie!
Sembra si preferisce rendere il complesso codice di sfruttare la semplicità del sistema di oggetti. – ChaosPandion