Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.12.2013, 17:17
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

Замыкание или ... ?
Господа, может кто просветить почему movedAnimate не меняет test.movedAnimate по ссылке?

и даже если сделаем movedAnimate = test.movedAnimate, тоже самое происходит.

Можно конечно непосредственно в в колбеке self.movedAnimate менять, но, что все же происходит в первом варианте?

<div id="test"></div>
$('body').on('click', function () {
        test.changeMovedAnimate();
    });

test = {
    movedAnimate: false
};
test.changeMovedAnimate = function () {

    $('#test').show();
    console.log('one', this.movedAnimate);
    this.movedAnimate = true;

    var self = this
        ,movedAnimate = self.movedAnimate
    ;

    $('#test').fadeOut(500, function() {
        movedAnimate = false;
        console.log('two', movedAnimate);
    });
};

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

Сообщение от kuzroman
что все же происходит в первом варианте?
Примитивы не передаются по ссылке. Поэтому в movedAnimate у тебя копия значения self.movedAnimate. И даже если бы была и ссылка, то через movedAnimate = false ты бы затер эту ссылку значением false

И потерял ключевое слово var перед объявлением test.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2013, 14:08
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

Ну да все логично. Сенкс.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик click вызывается несколько раз или не всегда вызывается OlegJquery jQuery 2 21.07.2011 20:37
Найти проблему с jQuery или писать js? Saladdin Элементы интерфейса 0 17.03.2011 17:02
В зависимости от referrer выводить рекламу adsene или зорьки wlad2 Общие вопросы Javascript 12 19.12.2010 01:02
Алгоритм плавной смены фона или изображения vandy3 Общие вопросы Javascript 6 11.11.2010 00:56
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 16:09