Почему не считает?

AG
На сайте с 13.10.2014
Offline
44
447

Приветствую!

Подскажите пожалуйста почему при клике по кнопке не складываются числа?

https://fiddle.jshell.net/ptykbd47/

alert (price + price2) их даже не видит.

webiumpro
На сайте с 20.03.2017
Offline
39
#1

Так вы эти переменные в других функциях объявляли, они локальные

Копирование лендингов. Разработка на фреймворке сервисов. Создание сайтов (/ru/forum/994418)
AG
На сайте с 13.10.2014
Offline
44
#2

webiumpro, да, но как сделать что бы переменные в других функциях были видны?

webiumpro
На сайте с 20.03.2017
Offline
39
#3
AG
На сайте с 13.10.2014
Offline
44
#4

webiumpro, только не понятно зачем это в самом начале?

var price,

price2;

Оно и без этого считает

https://fiddle.jshell.net/xwuc33pa/1/

K
На сайте с 08.04.2010
Offline
89
#5

AlexGr4, у вас в первом варианте переменные price и price2 были объявлены внутри функций и, соответственно, были видны только внутри своей функции

Если перед переменной не писать var, то она будет глобальной, видна везде.

Но правильнее объявлять глобальные переменные вначале

AG
На сайте с 13.10.2014
Offline
44
#6

Kasperaitus, да, вот теперь все понятно!

Но есть еще вопрос.

Работает и так

var result3 = +price + +price2;

и так

var result3 = parseInt(price) + parseInt(price2);

var result3 = parseFloat(price) + parseFloat(price2);

Как все же правильно?

K
На сайте с 08.04.2010
Offline
89
#7

AlexGr4, результат может быть разным

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий