HTML5 Canvas ile bazı animasyonlar yapıyorum diyelim. Ben tercih olacaktır bir nesnenin yöntemini hareketlendirmek için arıyorum, performans akıllıca (IE8 umurumda değil varsayarak):setTimeout nesne yöntemi üzerinde - ES5 bağlama veya kapatma?
setTimeout(this.render.bind(this), 15);
veya
var self = this;
setTimeout(function() { self.render() }, 15);
Benim özellikle böyle değil görsel anlamda bir fark yaratmak için yeterince yoğun; Sadece en iyi uygulamayı bulmaya çalışıyorum.
bind
ile yeni bir işlev oluşturmanın bir kapanış oluşturmaya göre daha az masraf olacağını düşünürdüm, ancak uzmanlara sormak istedim.
Bu benim için en iyi optimizasyon gibi kokuyor, sonra tekrar ne senin sorununun ne olduğunu bilmiyorum, ama bunun% 75'inin önemi olmadığını söylemesi güvenli olduğunu düşünüyorum – mkoryak
Her ikisi de bir kapanma oluşturuyorlar, tek fark şudur Bu fonksiyonlar ... –
@mkoryak - daha fazla iş yapıyorsanız sadece aşırı optimizasyon var. Her ikisi de uygulamak için önemsiz ve hangisinin (potansiyel olarak) daha performanslı olduğunu merak ediyordum. –