二進(jìn)制和八進(jìn)制
二進(jìn)制和八進(jìn)制數(shù)字的聲明并不是ES6的特性霞捡,我們只是做一個(gè)常識(shí)性的回顧验游,因?yàn)楹芏嘈氯诵』锇闀?huì)把他們當(dāng)成字符串或者不知道是什么借卧,所以這算是贈(zèng)送的知識(shí)點(diǎn)。
二進(jìn)制聲明:
二進(jìn)制的英文單詞是Binary,二進(jìn)制的開始是0(零)敦姻,然后第二個(gè)位置是b(注意這里大小寫都可以實(shí)現(xiàn)),然后跟上二進(jìn)制的值就可以了歧杏。
let binary = 0B010101;
console.log(binary);
這時(shí)候?yàn)g覽器的控制臺(tái)顯示出了21镰惦。
八進(jìn)制聲明:
八進(jìn)制的英文單詞是Octal,也是以0(零)開始的犬绒,然后第二個(gè)位置是O(歐)旺入,然后跟上八進(jìn)制的值就可以了。
let b=0o666;
console.log(b);
這時(shí)候?yàn)g覽器的控制臺(tái)顯示出了438。
數(shù)字判斷和轉(zhuǎn)換
數(shù)字驗(yàn)證Number.isFinite( xx )
可以使用Number.isFinite( )來進(jìn)行數(shù)字驗(yàn)證茵瘾,只要是數(shù)字礼华,不論是浮點(diǎn)型還是整形都會(huì)返回true,其他時(shí)候會(huì)返回false拗秘。
let a= 11/4;
console.log(Number.isFinite(a));//true
console.log(Number.isFinite('jspang'));//false
console.log(Number.isFinite(NaN));//false
console.log(Number.isFinite(undefined));//false
NaN驗(yàn)證
NaN是特殊的非數(shù)字圣絮,可以使用Number.isNaN()來進(jìn)行驗(yàn)證。下邊的代碼控制臺(tái)返回了true雕旨。
console.log(Number.isNaN(NaN));
判斷是否為整數(shù)Number.isInteger(xx)
let a=123.1;
console.log(Number.isInteger(a)); //false
整數(shù)轉(zhuǎn)換Number.parseInt(xxx)和浮點(diǎn)型轉(zhuǎn)換Number.parseFloat(xxx)
let a='9.18';
console.log(Number.parseInt(a));
console.log(Number.parseFloat(a));
整數(shù)取值范圍操作
整數(shù)的操作是有一個(gè)取值范圍的扮匠,它的取值范圍就是2的53次方。我們先用程序來看一下這個(gè)數(shù)字是什么.
let a = Math.pow(2,53)-1;
console.log(a); //9007199254740991
在我們計(jì)算時(shí)會(huì)經(jīng)常超出這個(gè)值凡涩,所以我們要進(jìn)行判斷棒搜,ES6提供了一個(gè)常數(shù),叫做最大安全整數(shù)活箕,以后就不需要我們計(jì)算了力麸。
最大安全整數(shù)
consolec .log(Number.MAX_SAFE_INTEGER);
最小安全整數(shù)
console.log(Number.MIN_SAFE_INTEGER);
安全整數(shù)判斷isSafeInteger( )
let a= Math.pow(2,53)-1;
console.log(Number.isSafeInteger(a));//false