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