8
假設我正在用HTML5 Canvas做一些動畫。如果我期待的動畫對象的方法,這將是可取的,明智的性能(假設我不關心IE8):對象方法setTimeout - ES5綁定或關閉?
setTimeout(this.render.bind(this), 15);
或
var self = this;
setTimeout(function() { self.render() }, 15);
我的具體情況是不足夠強烈,以真正在視覺上有所作爲;我只是想找出最佳做法。
我認爲用bind
創建一個新函數的開銷比創建閉包要少,但我想問專家。
這味道就像過度優化給我,然後我不知道你的問題是什麼,但我認爲它可以安全地說,75%的時間這並不重要 – mkoryak
他們都創建一個閉包,唯一的區別是什麼範圍這些功能綁定在... –
@mkoryak - 如果您正在做更多工作,它只會過度優化。兩者都是微不足道的實施,我想知道哪個(可能)更高性能。 –