第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么聲明sum不賦為0值就變成NaN?賦了就沒事

為什么聲明sum不賦為0值就變成NaN?賦了就沒事

雨溢豐 2016-01-18 23:17:03
var arr=scoreStr.split(";");var sum;//var sum=0就是815?? document.write(arr+"<br/>");? //從數(shù)組中將成績撮出來,然后求和取整,并輸出。? for(var i=0;i<arr.length;i++){? sum+=parseInt(arr[i].substr(3,2));? ?}? ?document.write(typeof(sum)+"-"+sum);//為什么是number-NaN?
查看完整描述

5 回答

已采納
?
_da

TA貢獻22條經(jīng)驗 獲得超29個贊

你試試這個。
var sum;

console.log(sum)

sum == undefined

sum 如果你不給他初始化值,默認給他的是預(yù)處理時候賦的undefined.任何數(shù)字與undefined 進行運算因為無法計算,所以輸出NaN

查看完整回答
反對 回復(fù) 2016-02-15
?
海天之戀

TA貢獻2條經(jīng)驗 獲得超3個贊

NaN是一種特殊的number ,表示無值;

查看完整回答
2 反對 回復(fù) 2016-01-19
?
小小酥1992

TA貢獻6條經(jīng)驗 獲得超2個贊

var sum;相當于你聲明了一個變量而沒有值,所以它可以是任意東西,因此你把它和數(shù)字相加就會出現(xiàn)那種情況!

查看完整回答
1 反對 回復(fù) 2016-02-15
?
MadMarical

TA貢獻79條經(jīng)驗 獲得超122個贊

你好。var sum進行了定義但是未初始化,導(dǎo)致sum被編譯器編譯為undefined。而parseint解析了字符串返回了一個十進制數(shù)(由于此處省略了第二個參數(shù)默認為10進制。)問題就出在這里,當一個undefined + 一個十進制數(shù) = ?。編譯器無法進行對應(yīng)的類型轉(zhuǎn)換,將會返回一個NaN(not a number),所以無論你進行多少次加法得到的結(jié)果是NaN。但是typeof(sum)為什么是number類型的呢?因為在js中NaN本身就是一個數(shù)值類型的東西。如果存疑,可以編寫程序直接輸出typeof(NaN)來求證一下。

以上是我的淺見,歡迎交流。

查看完整回答
1 反對 回復(fù) 2016-01-19
?
zsk13

TA貢獻1條經(jīng)驗 獲得超1個贊

sum不賦值的時候typeof(sum)不是number,加上一個number后類型變成number,但是值為Nan,

賦值的時候初始為0,就是正常的算術(shù)運算。

查看完整回答
1 反對 回復(fù) 2016-01-19
  • 5 回答
  • 0 關(guān)注
  • 2601 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號