Я новичок в программировании и немного изучаю javaScript, немного изучив Python.Я использую javaScript для управления элементами в мобильном приложении AR, и я создал очень простую функцию Cycler, которая работает именно так, как я хочу, но, честно говоря, я пытаюсь понять ПОЧЕМУ это работает!Я хотел функцию, которая будет цикл 1,2,3 при каждом нажатии.Первое нажатие вернет «1», второе нажатие «2», третье нажатие «3», затем повторите эту последовательность на других нажатиях.Вот что я придумал после множества проб, ошибок и поиска в Google:
const cycler = {
current: -1,
cycle: function() {
if (cycler.current == 3) {
cycler.current = 0;
} else {
cycler.current++;
}
console.log(cycler.current);
}
}
cycler.cycle()
cycler.cycle()
cycler.cycle()
cycler.cycle()
cycler.cycle()
В случае события tap я вызываю cycler.cycle ();и это работает ... возвращая 1,2,3,1,2,3 и т. д.в соответствии с моими нажатиями ... но я не понимаю, почему он не возвращает 0 каждый раз, когда я нажимаю.Почему «current» не сбрасывается в «-1» при каждом вызове?Как бы я сделать что-то подобное в Python?Как я думаю об этом?Спасибо за понимание!