首页 > 其他 > 详细

typeof、类型转换

时间:2020-07-03 09:31:56      阅读:72      评论:0      收藏:0      [点我收藏+]

1、typeof

  typeof两种写法:typeof  num;typeof(num)

  typeof(111)       // "number"

  typeof(undefined)    // "undefined"

  typeof(‘aaaa‘)           // "string"

  typeof(true)              // "boolean"

  typeof(null)              // "object"

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

  typeof({age:18})       // "object"

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

 

2、类型转换

  显式类型转换

  (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

typeof、类型转换

原文:https://www.cnblogs.com/cuishuangshuang/p/13228137.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!