Трэвис, я разработчик сайта Starter
.
@ Пойнти ударил ногтем по голове. Причина, по которой код Starter написан таким образом, заключается в том, что нам нужен новый объект, нам просто не нужно хранить ссылку на него в этой точке.
Просто изменив команду с
(new jQuery.fasterTrim(this, options));
до
var fT = new jQuery.fasterTrim(this, options);
успокоит JSLint, как вы нашли.
Настройка подключаемого модуля Starter соответствует шаблону пользовательского интерфейса jQuery для сохранения ссылки на объект в наборе data
для элемента. Итак, вот что происходит:
- Новый объект создан (через новый)
- Экземпляр присоединяется к элементу DOM с помощью jQuery's
data
: $(el).data('FasterTrim', this)
Нет никакого смысла для возвращаемого объекта, и, следовательно, var
объявление не сделано. Я посмотрю, как изменить объявление и очистить вывод для передачи JSLint из коробки.
Еще немного фона :
Преимущество хранения объекта с использованием data
заключается в том, что мы можем получить доступ к объекту позже в любое время, вызвав: $("#your_selector").data('FasterTrim')
. Однако, если ваш плагин не нуждается в доступе в середине потока таким образом (имеется в виду, что он настроен за один вызов и не предлагает взаимодействия в будущем), то сохранение ссылки не требуется.
Дайте мне знать, если вам нужна дополнительная информация.