У меня есть код, который вызывает анонимные функции в цикле, что-то вроде этого псевдо-примера:
for (i = 0; i < numCards; i = i + 1) {
card = $('<div>').bind('isPopulated', function (ev) {
var card = $(ev.currentTarget);
....
JSLint сообщает об ошибке "Не выполняйте функции в цикле". Мне нравится держать мой код JSLint чистым. Я знаю, что могу переместить анонимную функцию из цикла и вызывать ее как именованную функцию. Что в стороне, вот мой вопрос:
Будет ли интерпретатор Javascript действительно создавать экземпляр функции для каждой итерации? Или действительно ли только один экземпляр функции "скомпилирован", и один и тот же код выполняется повторно? То есть, "предложение" JSLint для перемещения функции из цикла фактически влияет на эффективность кода?