У меня есть автономная реализация Backbone.View
под названием MainControllerView
, которая может обрабатывать себя (т. Е. Нет причин иметь внешнюю ссылку на нее). Если в моей главной функции загрузчика я пнуть вещи, как это:Использует ли Backbone.js «новое для побочных эффектов» вопреки JSHint?
$(function() {
new MainControllerView();
});
JSLint/JSHint жалуются, что я использую «новые побочные эффекты.» Чтение этого предупреждения указывает на то, что вышеупомянутое считается вонючим кодом. Альтернативы - не использовать новые вообще и просто вызывать конструктор как функцию или назначать его переменной. Тем не менее, вызов моего MainControllerView()
непосредственно как функция без использования new
вызывает ошибки в базовом коде, поэтому это, по-видимому, не вариант. И его, кажется, совершенно неправильно для меня, что следующий как-то лучше код:
$(function() {
var instantGarbage = new MainControllerView();
});
На самом деле это вызывает другое предупреждение JSLint «instantGarbage определен, но никогда не используется.» По-видимому, меня отменяют, если я это сделаю, и меня отменяют, если я этого не делаю. Итак, есть ли другой «правильный» способ справиться с такими вещами? Является ли создание мгновенных переменных мусора как-то альтернативой «лучшего кода»? Является ли Backbone.js ключевым словом «новое» не одобренным Крокфордом? Или это только одно из исключений из «правила»?
возможно дубликат [считаются вредным JavaScript «s "новые" ключевые слова?] (Http://stackoverflow.com/questions/383402/is-javascript-s- новый-ключевое слово-считается-вредным) – tkone
Не совсем дубликат. Я не спрашиваю, является ли новый вред сам по себе, я спрашиваю, есть ли проблема использовать его, не присваивая его переменной. –