@lagaca

Почему (function($){…})(jQuery)?

Почему принято писать:
(function($) {
  $.fn.mySimplePlugin = function(){
     // код плагина ...
     return this;
  };
})(jQuery);


А не:

$.fn.mySimplePlugin = function($){
     // код плагина ...
     return this;
  };


В гугле написано, что первый вариант изолирует $ и позволят возвращать this. Но ведь и второй это делает. Но при этом короче.
  • Вопрос задан
  • 503 просмотра
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Конструкция (function($){…})(jQuery) изолирует пространство имён плагина. Это гарантия того, что плагин не затрёт чужую переменную, например.
Ответ написан
@GreatRash
На тот случай если какой-то другой код переопределит переменную $, переопределить переменную jQuery типа сложнее (т.е. это можно сделать только намеренно).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы