Giả sử tôi đang thực hiện một số hoạt ảnh với Canvas HTML5. Nếu tôi đang tìm để animate phương pháp của một đối tượng, đó sẽ là một lợi thế, hiệu suất khôn ngoan (giả sử tôi không quan tâm về IE8):setTimeout trên phương pháp đối tượng - ES5 ràng buộc, hoặc đóng cửa?
setTimeout(this.render.bind(this), 15);
hoặc
var self = this;
setTimeout(function() { self.render() }, 15);
trường hợp cụ thể của tôi không phải là đủ mạnh để thực sự tạo sự khác biệt một cách trực quan; Tôi chỉ đang cố gắng tìm ra cách thực hành tốt nhất.
Tôi nghĩ rằng việc tạo một chức năng mới với bind
sẽ có ít chi phí hơn là tạo ra một đóng cửa, nhưng tôi muốn hỏi các chuyên gia.
mùi này giống như tối ưu hóa hơn với tôi, sau đó một lần nữa tôi không biết vấn đề của bạn là gì, nhưng tôi nghĩ rằng nó an toàn để nói rằng 75% thời gian này không quan trọng – mkoryak
Cả hai đều tạo ra một đóng cửa, sự khác biệt duy nhất là những gì phạm vi những chức năng này bị ràng buộc trong ... –
@mkoryak - nó chỉ tối ưu hóa quá mức nếu bạn đang làm nhiều việc hơn. Cả hai đều tầm thường để thực hiện, và tôi đã tự hỏi đó là (tiềm năng) nhiều hơn performant. –