為什么這段代碼的結果都是NaN?
var n1 = 0;
? ? ? ? ? ? var n2 = 0;
? ? ? ? ? ? n1 = parseInt(num1.value);
? ? ? ? ? ? n2 = parseInt(num2.value);
? ? ? ? ? ? btns[0].onclick = function(){
? ? ? ? ? ? ? ? ret.innerHTML = n1 + n2 ;
? ? ? ? ? ? }
? ? ? ? ? ? btns[1].onclick = function(){
? ? ? ? ? ? ? ? ret.innerHTML = n1 - n2 ;
? ? ? ? ? ? }
? ? ? ? ? ? btns[2].onclick = function(){
? ? ? ? ? ? ? ? ret.innerHTML = n1 * n2 ;
? ? ? ? ? ? }
? ? ? ? ? ? btns[3].onclick = function(){
? ? ? ? ? ? ? ? ret.innerHTML = n1 / n2 ;
? ? ? ? ? ? }
2017-08-25
應該是這樣的原因:首先你要知道window.onload函數是頁面加載之后執行。所以 “var n1 = 0;var n2 = 0; n1 = parseInt(num1.value);n2 = parseInt(num2.value);”這段代碼執行之后由于頁面是剛加載,還沒有輸入值。所以n1和n2是NaN。而后點擊函數執行的時候,n1和n2都沒更新,所以一直是NaN,所以要是你刷新下頁面,更新n1和n2的值,結果就會正確??炊畣??
2017-08-25
我發現個很奇怪的現象,你打開網頁刷新之后,點擊結果就會變成正確的,你試試。
2017-08-23
因為n1和n2不是整型值,變成parseInt(n1)就可以了