HTML5 Canvas로 일부 애니메이션 작업을하고 있다고 가정 해 보겠습니다. 내가 것이 바람직 할 것이다 객체의 방법을, 애니메이션을 찾고 있어요 경우, 성능은 현명한 (내가 IE8에 대해 걱정하지 않는다 가정) :개체 메서드에서 setTimeout - ES5 바인딩 또는 종료?
setTimeout(this.render.bind(this), 15);
또는
var self = this;
setTimeout(function() { self.render() }, 15);
내 특별한 경우가 아니다 시각적으로 차이를 만들 정도로 충분히 강렬합니다. 나는 최선의 방법을 찾고있다.
bind
으로 새 함수를 만드는 것이 클로저를 만드는 것보다 오버 헤드가 적을 것이라고 생각하지만 전문가에게 물어보고 싶습니다.
이것은 내게 최적화가 된 것 같은 냄새가 난다. 그런데 당신의 문제가 무엇인지는 모르겠다.하지만 나는이 안전 문제에 대해 75 %의 시간이 문제가되지 않는다고 생각한다. – mkoryak
둘 다 클로저를 만들고, 유일한 차이점은 어떤 범위인가? 그 기능들은 ... –
@mkoryak - 당신이 더 많은 일을하고 있다면 그것은 단지 지나치게 최적화 된 것입니다. 두 가지 모두 구현하기는 쉽지 않으며, 어느 것이 (잠재적으로) 더 성능이 좋은지 궁금합니다. –