美文网首页
js--类型转换

js--类型转换

作者: BaoMax | 来源:发表于2017-02-22 14:41 被阅读0次

    js数据类型

    1. Number:数字类型
      
    2. String:字符串类型
    3. Boolean:布尔类型
    4. Null:空
    5. Undefined:未定义
    6. Symbol:标志
    7. Object:对象

    其中1-6是js基本类型,7是引用类型


    转换成字符串:

    1.  Number=>String    
       4=>'4' 
       4.2=>'4.2' 
       0=>'0'
      
    1.  Boolean => String   
         true => 'true' 
         false=>'false'
      
    1.  Null => String
        null => 'null'
      
    1.  Undefined=>String
        undefined => 'undefined'
      
    1.  Symbol => String
      

    var a = Symbol('a')
    a=>'symbol("a")'

    1.  Object => String
      

    o.toString()


    转换成数字

    1.  String=>Number
      

    ''=>0
    '1' =>1
    '2q'=>NaN
    '1.2' => 1.2
    '1.' => 1

    1.  Boolean=>Number
      

    true=>1
    false=>0

    1.  Null=>Number
      

    null=>0

    1.  Undefined=>Number
      

    undefined=>0

    1.  Symbol=>Number
      

    Symbol不能转成Number

    1.  Object=>Number
      

    o.valueOf()/o.toString()
    调用上面的方法,把Object转换成基本类型,然后按照基本类型转换成Number


    转换成Boolean

    1.  Number=>Boolean
      

    1=>true
    +0=>false
    -0=>false
    1.2=>true

    1.  String=>Boolean
      

    ''=>false
    'aaa' => true

    1.  Null=>Boolean
      

    null=>false

    1.  Undefined=>Boolean
      

    undefined=>false

    1.  Symbol=>Boolean
      

    var a = Symbol()
    a=>true

    1.  Object=>Boolean
      

    o.valueOf/o.toString
    调用上面两个方法把Object转换成基本类型,再按照基本类型转换成Boolean


    ==与===的区别

    ==宽松相等,允许使用==具体的强制转换
    ===严格相等,不允许使用==具有的强制转换

    ==的强制转换

    1.a==b
    其中a为数字,b为字符串时,判断a==Number(b)
    2.a==b
    其中a为字符串,b为数字时,判断Number(a) == b
    3.a==b
    其中a为Boolean时,判断Number(a) == b
    b为Object时调用valueOf或者toString转换成基本类型
    4.a==b
    其中a为undefined,b只有等于undefined或者null时才相等
    == 判断中undefined只等于undefined或者null
    == 判断中null值等于undefined或者null
    5.a==b
    其中a=NaN
    NaN不等于任何值,包括自身
    6.a==b
    Object类型都调用valueOf或者toString方法转换成基本类型,进行对比
    若a,b均为Object类型,==判断时是判断a,b指向的是不是同一个值

    相关文章

      网友评论

          本文标题:js--类型转换

          本文链接:https://www.haomeiwen.com/subject/xlgpwttx.html