JavaScript 數字相關的屬性方法/Math內置對象

JS語言中Number類型的屬性和方法

一、類型判斷

原理:判斷是不是非數,使用isNaN();方法,主要用來判斷是不是NaN,由於NaN == NaN是返回false的。非數返回true,不是非數則返回true。數組

注意點:內部會進行隱式轉換app

代碼舉例:注意一下的爲true的結果dom

isNaN(NaN);       // true
isNaN(parseFloat('abc')); // true,非數

isNaN(37);        // false
isNaN("37");      // false,內部隱式轉化了

isNaN("asd");     // true,

isNaN("");        // false: 會被轉化轉化成0
isNaN(" ");       // false: 會被轉化轉化成0

isNaN(undefined); // true
isNaN({});        // true

isNaN(null);      // false
isNaN(true);      // false
isNaN(null);      // false

二、是否有限數字

原理:判斷是不是有限的,有限返回true。函數

注意點:內部會進行隱式轉換spa

代碼舉例:注意一下的爲true的結果prototype

isFinite(Infinity);  // false,無限大
isFinite(NaN);       // false
isFinite(-Infinity); // false,負無限大
isFinite(2/0);       // false:2/0 的結果是 Infinity
isFinite(0);         // true
isFinite(2e64);      // true
isFinite(null);      // true

三、類型轉換

一、字符串轉浮點數字code

parseFloat('4.6');// 4.6

二、字符串轉整形,也能夠拿來作進制轉換,字符串轉數字,默認轉爲10進制,與之對應的方法是toString方法,轉爲某一進制。對象

//後邊的位數可使 2 到 32 ,若是該參數小於 2 或者大於 36,則 parseInt() 將返回 NaN。
//其實默認的時候是轉爲10進制,注意前面的string必須合法,後邊表示的是進制
parseInt('4.6', 10);      //返回 4
parseInt("10");           //返回 10
parseInt("19",10);        //返回 19 (10+9)
parseInt("11",2);         //返回 3 (2+1)
parseInt("17",8);         //返回 15 (8+7)
parseInt("1f",16);        //返回 31 (16+15)
parseInt("010");          //未定:返回 10 或 8

三、進制轉換,轉爲某種進制,結果是一個字符串blog

// 轉換數值到指定的進制,必須是一個Number類型,進制是2~36
Number(12).toString(5); // "22"
Number(1000).toString(2); // "1111101000"

四、數字轉字符串,在以前或者以後 +「」 便可ci

"" + 123;  //"123"
123 + "";  //"123"

四、Number上經常使用到的屬性和方法

Number.prototype.toFixed([精度]);//取幾位小數。會對取的最後一位數字作四捨五入的操做。注意:返回值類型爲字符串。默認是取整
3.1415.toFixed(2);// '3.14'   
3.1455.toFixed(2);// '3.15'
3.1415.toFixed();// '3'

Number.prototype.toPrecision(有效數字);//返回知足有效位數的字符串。會對取的最後一位數字作四捨五入的操做。
3.1415.toPrecision(2);// '3.1'   
3.1544.toPrecision(2);// '3.2'
13.1415.toPrecision(2);// '13'
130.515.toPrecision(2);// 1.3e+2

Number.prototype.toExponential(有效數字);//返回數字的科學計數法的字符串。在上邊的基礎上轉換爲科學計數
3.14.toExponential()// '3.14e+0'
1300000000.1415.toExponential(2)// '1.30e+9'

Number.MIN_VALUE - 最小值。小於這個值的會被轉換成 0。
Number.MIN_VALUE; // 5e-324
Number.MAX_VALUE - 最大值。大於這個值的會被轉換成 Infinity。
Number.MAX_VALUE; // 1.79e+308

Math內置對象的一些方法

Math.PI - 圓周率的近似值。
Math.PI; // 3.14159...

Math.ceil(數字) - 若是是小數,返回比參數大最近的整數。
Math.ceil(4.3);// 5
Math.ceil(4.8);// 5
Math.ceil(-4.3);// -4 向上取整,取到-4
Math.ceil(2);// 2

Math.floor(數字) - 若是是小數,返回比參數小最近的整數。
Math.floor(3.5);// 3
Math.floor(-3.5);// -4

Math.round(數字) - 四捨五入。
Math.round(3.5);// 4
Math.round(-3.5);// -3   因而可知,這個並非簡單的逆過來,依據其基本的規則直接取得。
Math.round(-3.6);// -4

Math.round(3.4);// 3
Math.round(-3.4);// -3

Math.random() - 返回 0 到 1 之間的一個隨機數。包括 0,不包括1。
Math.random();// 多是 0.008179764728993177
Math.random();// 多是 0.493650607066229

Math.abs(數字) - 返回絕對值。
Math.abs(-2); // 2
Math.abs(2); // 2
Math.abs(0); // 0

Math.min(數字1[, 數字2, [, ...] ] - 返回一羣數字中的最小值。與其相反的函數爲 Math.max。
Math.min(0, 10, 5.4, -3.4); // -3.4
Math.min.apply(null,[0, 10, 5.4, -3.4]); // -3.4 (求數組中的最小值)

Math.pow(x,y); - 求取x的y次方
Math.pow(3,2);//9
Math.pow(3,2.1);//10.04510856630514

Math.sqrt(x); - 求x的平方根
Math.sqrt(50);//7.0710678118654755

new Date().valueOf();//1475333477365

Math 上還有與三級函數,指數,冪相關的函數。
相關文章
相關標籤/搜索