typeof、類型轉換

一、typeofspa

  typeof兩種寫法:typeof  num;typeof(num)字符串

  typeof(111)       // "number"string

  typeof(undefined)    // "undefined"io

  typeof('aaaa')           // "string"console

  typeof(true)              // "boolean"function

  typeof(null)              // "object"object

  typeof([1,2,3])          // "array"方法

  typeof({age:18})       // "object"類型轉換

  typeof(function  fun(){})  // "function"di

 

二、類型轉換

  顯式類型轉換

  (1)Number(mix)

    Number('111')  // 111

    Number(true)  // 1

    Number(false)  // 0

    Number(null)  // 0

    Number('')  // 0

    Number('   ')  // 0

    Number( )  // 0

    Number(undefined)  // NaN

    Number('abc')  // NaN

    Number('-111')  // -111

 

  (2)parseInt(string, radix)、parseFloat(string)

    parseInt(string, radix):將字符串轉成數字,若是不是字符串,會先將其轉成字符串;第二個參數表示將對應進制的數轉成十進制

    parseInt(111)  // 1

    parseInt(true)  // NaN

    parseInt(false)  // NaN

    parseInt(null)  // NaN

    parseInt('123')  // 123

    parseInt('123.9')  // 123

    parseInt('abc')  // NaN

    parseInt('')  // NaN

    parseInt('+123.9')  // 123

    parseInt('-123.9')  // -123

    parseInt('10', 2)  // 2

    parseInt('12abc')  // 12

    parseFloat(123.45)  // 123.45

    parseFloat(123)  // 123

    parseFloat('123.4sdf')  // 123.4

 

  (3)String(mix)

    String(111)  // '111'

    String(true)  // 'true'

    String(NaN)  // 'NaN'

    String(undefined)  // 'undefined'

    String(null)  // 'null'

 

  (4)Boolean(mix)

    Boolean('')  // false

    Boolean(' ')  // true

    Boolean('123')  // true

 

  (5)toString(radix)

    undefined和null不能用toString方法,不然會報錯

    (111).toString()  // '111'

    (2).toString(2)  // '10'

 

  隱式類型轉換

  (1)isNaN()

    內部經過Number()方法進行轉換,而後和NaN比較

    isNaN(NaN)  // true

    isNaN(123)  // false

    isNaN(undefined)  // false

    isNaN('abc')  // true

  (2)++、--、+(正號)、-(負號)

    在運算前內部調用Number( )方法

    var  a  =  '123';

    a ++;

    console.log(a)  // 124

    +  '456'  // 456

    -  '456'  // -456

  (3)+(加號)

    當加號兩邊只要有一側是字符串,就會調用String( )方法

    var  a  =  'b'  +  2;  // b2

  (4)-、*、/、%

    運算符兩邊調用Number( )方法

    var  a  =  '2'  *  3;  // 6

    var  b  =  'a'  -  4;  // NaN

  (5)==、!=

    1 == '1'  // true

    1  !=  '1'  // false

    undefined  == 0  // false

    undefined  > 0  // false

    undefined  < 0  // false

    null  > 0  // false

    null  < 0  // false

    null  == 0  // false

    undefined  == null  // true

    NaN  ==  NaN  // false

    NaN  !=  NaN  // true

相關文章
相關標籤/搜索