#jquery
#jquery
Вопрос:
Строка 576 jQuery 1.7rc1 является:
return (new Function( "return " data ))();
Теперь jshint жалуется на предупреждение
Конструктор функций — это eval .
Что означает эта ошибка? Почему люди из jQuery написали эту строку так, как она есть?
Комментарии:
1. Не существует набора правил, как писать код. JSHINT / JSLINT — это набор рекомендаций по правильному и правильному построению кода. Вы получаете сообщение об ошибке или это неинтересно? 🙂
2. Ну, код jQuery выдает предупреждение jshint. Я спрашиваю здесь из интереса.
Ответ №1:
Поскольку eval
это зло, и Function
конструктор использует eval
его для создания нового Function
, jshint это не нравится. jQuery использует его для анализа JSON для старых браузеров, которые изначально не поддерживаются JSON.parse()
.