这里的javascript局部变量是下面的代码:困惑VS全局变量
var num1 = document.getElementById('num1').value;
var num2 = document.getElementById('num2').value;
function Multiplication (num1,num2) {
document.getElementById('result').innerHTML = num1*num2;
}
function Divide (num1,num2) {
document.getElementById('result').innerHTML = num1/num2;
}
<form>
<input type="number" value="2" id="num1"/>
<input type="number" value="3" id="num2" />
<input type="button" value="Multiplication" onClick="Multiplication()"/>
<input type="button" value="Divide" onClick="Divide()"/>
</form>
<div>
<span>The result is:</span>
<p id="result"></p>
</div>
我得到的结果NAN当我点击乘法或分割按钮来触发的功能,但我以为num1和num2都是全局变量,有人可以帮我弄清楚为什么这两个undefined?
您没有使用任何参数调用该函数,所以它最终在'Multiplication'中是'undefined * undefined',它是'NaN'。附加一个点击处理程序到按钮,并传入值。 – Carcigenicate
即使我将num1,num2作为两个参数传递给multiplication(),其仍然无法工作 –
函数参数引入局部变量。鉴于您没有将任何值传递给调用,它们被设置为“未定义”。 – Bergi