亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么這段代碼的結果都是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 ;

? ? ? ? ? ? }


正在回答

3 回答

應該是這樣的原因:首先你要知道window.onload函數是頁面加載之后執行。所以 “var n1 = 0;var n2 = 0; n1 = parseInt(num1.value);n2 = parseInt(num2.value);”這段代碼執行之后由于頁面是剛加載,還沒有輸入值。所以n1和n2是NaN。而后點擊函數執行的時候,n1和n2都沒更新,所以一直是NaN,所以要是你刷新下頁面,更新n1和n2的值,結果就會正確??炊畣??

0 回復 有任何疑惑可以回復我~

我發現個很奇怪的現象,你打開網頁刷新之后,點擊結果就會變成正確的,你試試。

0 回復 有任何疑惑可以回復我~

因為n1和n2不是整型值,變成parseInt(n1)就可以了

0 回復 有任何疑惑可以回復我~
#1

Jaris 提問者

可是我不是已經parseInt了嗎
2017-08-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么這段代碼的結果都是NaN?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號