JavaScript基礎(chǔ)學(xué)習(xí)(三)-number類型

number數(shù)字類型

包含:常規(guī)數(shù)字、NaN

NaN

not a number: 不是一個(gè)數(shù),但它屬于數(shù)字類型
NaN和任何值(包括自己)都不想等:NaN != NaN,所以我們不能用相等的方式判斷是否為有效數(shù)字

isNaN

檢測一個(gè)值是否為非有效數(shù)字,如果不是有效數(shù)字返回true,反之是有效數(shù)字返回false

console.log(isNaN('10')); // => false
/* 
  Number('10') => 10
  isNaN(10) => false
*/

注意:在使用isNaN進(jìn)行檢測的時(shí)候,首先會驗(yàn)證檢測的值是否為數(shù)字類型,如果不是,先基于Number()這個(gè)方法,把值轉(zhuǎn)換為數(shù)字類型,然后再檢測

把其他類型值轉(zhuǎn)換為數(shù)字類型

  • Number([val])
// 把字符串轉(zhuǎn)換為數(shù)字,只要字符串中包含任意一個(gè)非有效數(shù)字字符(第一點(diǎn)除外)結(jié)果都是NaN,空字符串會變?yōu)?
console.log(Number(`12.5`)); // => 12.5
console.log(Number(`12.5px`)); // => NaN
console.log(Number('')); // => 0

// 布爾類型轉(zhuǎn)換為數(shù)字
console.log(Number(true)); // => 1
console.log(Number(false)); // => 0
console.log(isNaN(false)); // false
console.log(isNaN(true)); // false

// null -> 0 undefined -> NaN
console.log(Number(null)); // => 0
console.log(Number(undefined)); // => NaN

// 把引用數(shù)據(jù)類型轉(zhuǎn)換為數(shù)字,是先把它基于toString方法轉(zhuǎn)換為字符串,然后在轉(zhuǎn)換為數(shù)字
console.log(Number({name: '10'})); // => NaN
console.log(Number({})); // => NaN
// {}/{xxx: 'xxx'}.toString() => "[object object]"

console.log(Number([])); // => 0
// [].toString() => ''

console.log(Number([12])); // => 12
// [12].toString() => '12'

console.log(Number([12, 23])); // NaN
// [12, 23].toString() => '12,23'

  • parseInt/parseFloat([val], [進(jìn)制]): 也是轉(zhuǎn)換為數(shù)字的方法,對于字符串來說,它是從左到右一次查找有效數(shù)字字符,直到遇到非有效數(shù)字字符,停止查找(不管后面是否還有數(shù)字,都不再找了),把找到的當(dāng)做數(shù)字返回
let str = '12.5px';
console.log(Number(str)); // => NaN
console.log(parseInt(str)); // => 12
console.log(parseFloat(str)); // => 12.5
console.log(parseFloat('width:12.5px')); // => NaN
  • ==進(jìn)行比較的時(shí)候,可能要出現(xiàn)把其他類型值轉(zhuǎn)換為數(shù)字
console.log(‘10’ == 10); // true 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容