Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.10.2013, 15:32
Интересующийся
Отправить личное сообщение для amt35 Посмотреть профиль Найти все сообщения от amt35
 
Регистрация: 26.09.2013
Сообщений: 14

присвоение функции $ объекту windows
Решил к запросу querySelectorAll подвесить несколько часто используемых функций, залез в учебники javascript, позадавал здесь на форуме вопросы,
в результате получилась следующая конструкция:
(function() {
    function _$(els) {
        this.elements = document.querySelectorAll(els);
        return this;
    }
	
    _$.prototype ={
    size: function() {
      alert('size:'+this.elements.length);
      return this;
    }
    };
    window.$ = function(args) { return new _$(args); }
})();


После этого полез изучать существующие фреймворки и выянил что присвоение функции $ объекту windows делается не так, а как не пойму.
Объясниет пожалуйста как в современных фреймворках делается доступной для вызова в документе функция $?
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2013, 16:11
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Чем тебя твой вариант не устаивает? В других либах может быть иначе потому что к примеру они могут быть расчитаны на другое окружение, где глобальный объект иной, и нет никакого window.
jQuery еще к примеру сохраняет ссылку на старое значение window.$, чтобы в случае чего вернуть все на место по $.noConflict()
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2013, 16:58
Интересующийся
Отправить личное сообщение для amt35 Посмотреть профиль Найти все сообщения от amt35
 
Регистрация: 26.09.2013
Сообщений: 14

Меня немного смущает что никто не использует данную конструкцию, может быть потому что используют более правильные варианты присвоения глобальному объекту?

Последний раз редактировалось amt35, 08.10.2013 в 17:25.
Ответить с цитированием
  #4 (permalink)  
Старый 08.10.2013, 17:26
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от amt35
никто не использует данную конструкцию
jQuery:
...
// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;
...
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает присвоение параметра объекту "images" (Только в IE) KoenigDesign Internet Explorer 3 27.06.2012 18:52
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
Как в браузерах реализуются функции DOM (например createElement) iamme Общие вопросы Javascript 7 02.09.2011 20:26
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Adobe Acrobat Reader 9 Pro cheap order online Rodivazzio Элементы интерфейса 0 04.07.2009 02:55