У меня есть довольно большой набор функций javascript, над которыми я работаю по рефакторингу в набор классов с использованием Prototype.упрощение привязки анонимных функций javascript к классу
Мне было интересно, был ли способ, с помощью которого я мог бы упростить привязку анонимных функций к классу? Я продолжаю забывать добавить привязку в конце. Или это так, как это делается все время?
var arr = this.getSomeArray();
arr.each(function(t) {
t.update(val);
this.updateJSValue(t);
}.bind(this));
есть ли какой-либо рост производительности/уменьшение с использованием локальной переменной? Большинство мест, где они происходят, находятся в двойном порядке для петель. – Casey
Я ожидаю, что использование памяти немного увеличится, поскольку переменные будут жить дольше из-за закрытия, но влияние на производительность должно быть незначительным. Обратите внимание, что 'bind' скорее всего использует локальную переменную. – outis
Этот комментарий больше связан с правильностью, чем с эффективностью, но если вы хотите привязываться к одному и тому же объекту для каждой итерации, установите 'self' вне цикла, и влияние производительности будет незаметным; если вы хотите привязываться к другому объекту, объявляйте 'self' внутри блока цикла. – outis