Проблема обозначения объектов Javascript
-
21-12-2019 - |
Вопрос
У меня есть эта скрипка http://jsbin.com/EvIYomiF/4/ и просто чтобы заметить на случай, если это имеет значение, javascript находится в двух файлах.
Хорошо..как вы можете видеть в демонстрации, область dom каким-то образом перезаписывается, и я хочу понять почему.Я имею в виду, что self= этот взлом, безусловно, плохая практика, но я не понимаю, почему он перезаписывается
Я не нахожу слов, чтобы описать проблему, прошу прощения за это, но скрипка - это единственный способ, который я нашел, чтобы легко объяснить свою проблему.
Решение
Все предположения о this
это не имеет значения, и все ведут вас по ложному следу.
Проблема в том, что self
не был изолирован с помощью var
таким образом, она носит глобальный характер.Второй self
перезаписывает первый.
Просто делая это var self=this
заставляет все это работать.То, что вы сделали, является обычной практикой, направленной на то, чтобы избежать изменения контекста this
внутри обработчика событий jQuery