Bunun gibi bir nesneye sahip olduğumu varsayın:ES5 Object.create ve object literal sözdizimi ile bir kurucu nasıl taklit edilir?
var Foo = {
x: 5,
sprite: new Image()
}
Sorun: Bu sprite'ı doğru src ile başlatmak istiyorum. Ancak, aşağıdaki oluşturma tekniğini kullandığımda:
var f = Object.create(Foo);
sprite.src = 'cool.png';
kurulum için bir kurucu yöntem (aka init işlevi) yok Benim sorum:
Nesneyi kullanıyorum literal tekniği ve Object.create()
, aslında ne zaman dahili durumumun bir kısmını (new Image()
örneğindeki gibi)
başlatır Benim çözümüm:
var Foo = {
create: function() {
var f = Object.create(Foo);
f.sprite.src = 'cool.png';
return f;
}
}
Ancak, bu harika bir model olup olmadığını bilmiyorum . Bir yolu varsa bunu "JavaScript Yolu" yapmak istiyorum. :)
Teşekkürler!
nesne sisteminin basitliği yararlanmak daha Bunun yerine kod kompleksi yapacak gibi görünüyor. – ChaosPandion