присвоение функции $ объекту 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 делается не так, а как не пойму. Объясниет пожалуйста как в современных фреймворках делается доступной для вызова в документе функция $? |
Чем тебя твой вариант не устаивает? В других либах может быть иначе потому что к примеру они могут быть расчитаны на другое окружение, где глобальный объект иной, и нет никакого window.
jQuery еще к примеру сохраняет ссылку на старое значение window.$, чтобы в случае чего вернуть все на место по $.noConflict() |
Меня немного смущает что никто не использует данную конструкцию, может быть потому что используют более правильные варианты присвоения глобальному объекту?
|
Цитата:
... // Expose jQuery to the global object window.jQuery = window.$ = jQuery; ... |
| Часовой пояс GMT +3, время: 20:40. |