Просьба подсказать
Доброго времени суток!
Прошу помощи найти ошибку в коде. Цель: 1) Нажал на .check один раз - посчиталось значение переменной. 2) Нажал на .check еще раз - к уже известному значению добавилось новое. http://jsfiddle.net/AdTg7/ Что происходит: всегда почему-то у меня s=undefined, и поэтому нет перехода к условию else...... |
Почему-то думаю, что переменная s теряется каждый раз при новом клике... это можно как-нибудь исправить? (сделать глобальной?)
|
var s = 0; Это локальная переменная. Она будет уничтожена по завершению работы функции. При последующем запуске функции никакой s существовать не будет. Таким образом else никогда не выполнится. |
Chekist, у тебя обе ветви кода одинаковые, в чем смысл создавать две одинаковые ветви?
|
Тогда как передать локальную переменную из функции в глобальную?
Чтобы каждый раз к ней же и прибавлять локальную |
Цитата:
alert(inc(1)); alert(inc(10)); alert(inc(20)); function inc(N) { this.s=this.s||0; this.s+=N; return this.s; }; |
Часовой пояс GMT +3, время: 12:47. |