這裏的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