Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Функция не видит глобальные переменные. (https://javascript.ru/forum/misc/75774-funkciya-ne-vidit-globalnye-peremennye.html)

Andrey07 05.11.2018 14:51

Функция не видит глобальные переменные.
 
Всем привет!
Столкнулся с проблемой! Объявляю глобальные переменные, а функция их не видит, как только я их объявляю в функции все начинает работать.
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Calculator</title>
</head>
<body>
<p>Number 1: <input type="number" id="num1"></p>	
<p>Number 2: <input type="number" id="num2"></p>
<button onclick="plust()">Plust</button>
<button onclick="minus()">Minus</button>
<button onclick="deliver()">Deliver</button>
<button onclick="multiply()">Multiply</button>
<hr><br>
Total:<h3 id="total"></h3>
	<script src="Calc.js" defer></script>
</body>
</html>


let num1 = document.getElementById('num1').value;
let num2 = document.getElementById('num2').value;
let out = document.getElementById('total');
//num1 = parseInt(num1);
//num2 = parseInt (num2);
function plust(){
	out.innerHTML = num1 + num2;
}
function minus(){
	out.innerHTML = num1 - num2;
}

рони 05.11.2018 14:56

Andrey07,
let num1 = document.getElementById('num1');
let num2 = document.getElementById('num2');
let out = document.getElementById('total');
function plust(){
	out.innerHTML = +num1.value + +num2.value;
}
function minus(){
	out.innerHTML = num1.value - num2.value;
}

Andrey07 05.11.2018 15:53

Спасибо! Все заработало!
Еще не подскажете как тут можно избавиться от конкатенации?

j0hnik 05.11.2018 15:54

+ перед значением

Andrey07 05.11.2018 15:56

Цитата:

Сообщение от j0hnik (Сообщение 497892)
+ перед значением

Спасибо!


Часовой пояс GMT +3, время: 18:32.