close
console.log( parseInt( "017" ) ); // 15
console.log( parseInt( "08" ) ); // 0

為什麼?? 因為 parseInt 的傳入值開頭是 "0" 就會當成 8 進位處理 ("0x" 是 16 進位)

"017" >>> 8 + 7 = 15
"08" >>> 因為超過 8 進位範圍 , 結果為 0

為了避免矛盾和意外的結果,最好指定基數參數。

console.log( parseInt( "017" , 10 ) ); // 17

或是改用以下方法將字串變數字 , 而且效能優於 parseInt()

+"08" // 結果是 8
Number("08") // 8
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 vivian 的頭像
    vivian

    VIVI。愛胡扯

    vivian 發表在 痞客邦 留言(0) 人氣()