美文网首页
JavaScript快速入门04-类型转换

JavaScript快速入门04-类型转换

作者: 老哥深蓝 | 来源:发表于2021-04-06 16:17 被阅读0次

    在JavaScript中有6种不同的类型:string、number、boolean、object、function、symbol(ES6),在程序开发过程中可以通过手动和自动两种方式进行类型转换。

    手动类型转换

    转换为string
    • 可以使用.toString()和调用String()进行转换
    var a=123;
    console.log(a.toString());  //null和undefined不用调用该方法
    console.log(String(a));
    
    转换为number
    • 可以使用Number()进行转换
    • 字符串转换为Number时,非法数字会转换为NaN,空字符串转换为0
    • 布尔值转换时,ture为1,false为0
    • undefined也会转换为NaN
    • NaN是一个特殊的非数字值,但类型为number
    • 调用parseInt()将字符串中的整数,转换为Number
    • 调用PaseFloat()将字符串中的小数,转换为Number
    转换为boolean
    • 使用Boolean()函数进行转换
    • 字符串时,空串转换为false,非空串转换为true
    • 数值时0和NaN转换为false,大于0时转换为true
    • null和undefined转换为false

    自动类型转换

    在js中,在通过运算符进行运算时,如果两边的值数据类型不统一,系统会将两边的值类型进行自动转换,然后进行运算。

    • String + 其它类型
      当使用string与其它类型进行+运算时,其它类型自动转换成string类型
    undefined --> "undefined"
    null      --> "null"
    true      --> "true"
    false     --> "false"
    NaN       --> "NaN"
    1         --> "1"
    
    • Number进行运算
      与字符串运算除+法以外,会将字符串转换为数值
    undefined  --> NaN
    null       --> 0
    true       --> 1
    false      --> 0
    "abc"      --> NaN
    "a123"     --> NaN
    " 123 "    --> 123 //忽略空格转换为数值
    
    • 自动转换示例
        // + 
        10 + '20'             //'2010'
        // -
        10 - '20'             //-10
        10 - 'one'            //NaN
        10 - '100a'           //NaN
        // *
        10*'20'               //200
        '10'*'20'             //200
        // /
        20/'10'               //2
        '20'/'10'             //2
        '20'/'one'           //NaN
        // ==
        undefined == null;    //true
        '0' == 0;            //true,字符串转数字
        0 == false;           //true,布尔转数字
        '0' == false;       //true,两者转数字
        null == false;       //false
        undefined == false;  //false
    

    相关文章

      网友评论

          本文标题:JavaScript快速入门04-类型转换

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