我正在嘗試將值設定為未定義的變數,型別會更改,但值不會。為什么會這樣?
let average; // is it a must to do 'average = 0;' for it work?
for (const [oddName, odd] of Object.entries(game.odds)) {
// console.log(typeof oddName); // is a str
console.log(typeof odd); // is a num
console.log(typeof average);
average = odd;
// console.log(typeof average); // 'average' does change to a number
console.log(average); //returns NaN
}
uj5u.com熱心網友回復:
您可以進一步簡化它,并觀察效果:
let a;
console.log(a, " is of type ", typeof a);
a = 1;
console.log(a, " is of type ", typeof a);
let b = 0;
console.log(b, " is of type ", typeof b);
b = 1;
console.log(b, " is of type ", typeof b);
請注意,它a以 開頭undefined,因為我們沒有給它一個值。當我們相加0時,它被轉換為型別"number",但是“未知值加一”的和沒有答案,所以它被賦予了特殊的值NaN。
如果我們將它設定為0,它已經是一個數字;但更重要的是,“零加一”的和有一個合理的答案,所以我們得到了結果1。
uj5u.com熱心網友回復:
您正在添加一個未定義值的數字。當用一個數字添加 undefined 時,它會變成 NaN。
也許只有賦值運算子 (=) 對你有用

uj5u.com熱心網友回復:
您應該在第一行將平均值分配給 0。因為未定義 數字= NaN;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/489795.html
標籤:javascript
下一篇:在div中添加100個按鈕
