Не выводится значение из input
Недавно начал изучать JS, перешел к функциям, в частности к return и столкнулся с такой проблемой.
let num = document.querySelector('input').value;
let btn = document.querySelector('button');
function suma(a) {
return (a * a);
}
btn.onclick = () => {
console.log(suma(num));
}
<input /><button>Click</button>
console возвращает 0, я знаю что значение можно вывести по другому, используя анонимную функцию, без всего этого. Но мне для обучения надо узнать, почему таким способом не получается, тем более, если в переменную num записать просто число, то все сработает.
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Вы считываете значение из инпута во время загрузки страницы, когда он пустой.
let num = document.querySelector('input');
let btn = document.querySelector('button');
function suma(a) {
return (a * a);
}
btn.onclick = () => {
console.log(suma(+num.value));
}
<input /><button>Click</button>