Показать сообщение отдельно
  #8 (permalink)  
Старый 11.01.2010, 19:31
Интересующийся
Отправить личное сообщение для Volk_88 Посмотреть профиль Найти все сообщения от Volk_88
 
Регистрация: 23.07.2009
Сообщений: 17

Цитата:
window = this
Что касается данного выражения, думаю это было сделано из учета обращения к глобальному объекту в коде фреймворка, где this - не является глобальным объектом, пример:

1) Тут вполне можно вместо window поставить this
Цитата:
var window = this,
undefined,
_jQuery = window.jQuery,
_$ = window.$,

jQuery = this.jQuery = this.$ = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context );
}
2) В данном случае, window ссылается на Global, а вот this уже на jQuery (или я не прав? =) ), но вот я так и не понял, для чего реализована функция noConflict
Цитата:
(Релиз: 1.3.1, строка: 612)

jQuery.extend({
noConflict: function( deep ) {
window.$ = _$;

if ( deep )
window.jQuery = _jQuery;

return jQuery;
}
3) И тут понятное дело, this уже не указывает на Global
Цитата:
(Релиз: 1.3.1, строка: 612)

jQuery.event = {
handle: function(event) {
// returned undefined or false
var all, handlers;

event = arguments[0] = jQuery.event.fix( event || window.event );
Возможно я и ошибся, но введение данной переменной было необходимо, но в кое каких местах можно было обойтись без нее, но вот вопрос, а на сколько бы изменение в первом примере window на this дало бы выигрыш? может быть он настолько маленький, что разработчики jquery забили на него болт? =)

кстати, присоединяюсь к PeaceCoder, по поводу использования фреймвороков, порой зайдешь на форум, что бы найти алгоритм решения определенного вопроса, и порой появляется отвращения от всех тем(даже в разделе "для профи"), так как все только и знают, как решить вопрос с помощью фреймворков, а где же чистый javascript, про который наверно уже все забыли...а может и вообще не знали, в итоге появляется стада баранов, а не программистов, у которых спросишь "А ты знаешь javascript?" а они ответят: "да, конечно, это же jQuery", прям даже страшно становиться ))))
Ответить с цитированием