zoukankan      html  css  js  c++  java
  • JavaScript三种数据类型之间的互转

    一:number<===>string  数字类型和字符串类型之间的互相转换

    number===>string 数字转字符串有三种方式:

    1.在数字后面 +“ ”;

    2.利用字符串的包装类型 String(number);

    3.类型Object的prototype原型中的 toString()方法;

        var num=10;
        var str1=num+"";
        var str2=String(num);
        var str3=num.toString();
        document.write(str1 + typeof(str1) + "<br />");
        document.write(str2 + typeof(str2) + "<br />");
        document.write(str3 + typeof(str3) + "<br />"); 

    输出:

    10string
    10string
    10string

    这里还有几种用的比较少的需要了解一下的方法:toFixed(小数点位数);

                          toExponential() //指数表示;

                          toPrecision() //有效位数;

    string===>number 字符串类型转数字类型

    1.将字符串乘以1;

    2.将字符串减0;

    3.利用数字类型的包装类型Number(str);

    4.parseInt(str)/parseFloat(str);

        var str="10";
        var n1=str*1;
        var n2=str-0;
        var n3=Number(str);
        var n4=parseInt(str);
        var n5=parseFloat(str);
        
        document.write(n1 + " " + typeof(n1) + "<br/>");
        document.write(n2 + " " + typeof(n2) + "<br/>");
        document.write(n3 + " " + typeof(n3) + "<br/>");
        document.write(n4 + " " + typeof(n4) + "<br/>");
        document.write(n5 + " " + typeof(n5) + "<br/>");    

    结果:

    10 number
    10 number
    10 number
    10 number
    10 number

    二:boolean<===>number,string 布尔类型和数字类型,字符串类型之间的互转

    number===>boolean 数字类型转换为布尔类型

    1.非零为真,零为假    ----隐式转换

    2.Boolean(number)  ----显示转换

    3.!!number --取反两次

    string===>boolean 字符串类型转换为布尔类型

    1.非空字符串为真,空字符串为假(空格是不空字符串) ----隐式转换

    2.Boolean(string)  ----显示转换

    3.!!string --取反两次

    boolean===>number 布尔类型转换为数字类型

    Number(boolean)   true 对应 1; false 对应 0.

    boolean===>string 布尔类型转换为字符串类型

    String(boolean)    true 对应 true; false 对应 false.

    任何非空对象(Object)都是true.  null,undefined为true.

    三:||和&&除了做逻辑运算还有另外的一个用途

    * 在||两边如果放置的都是对象,先判断左边的对象是否为true,如果是就将左边对象返回,否则返回右边的对象,如果右边的对象也是true,返回undefined.

    * 在&&两边如果放置的都是对象,先判断左边的对象是否为false,如果是就将左边对象返回,否则返回右边的对象,如果右边的对象也是false,返回undefied.

  • 相关阅读:
    ECS:Systems
    ECS:Components
    ECS:Entitias
    对List遍历过程中添加和删除的思考
    SpringBoot 推荐博客
    理解和解决Java并发修改异常ConcurrentModificationException(转载)
    我对CopyOnWrite的思考
    最简日志打印规范(推荐,转载)
    为什么不应该使用Zookeeper做服务发现?(转载)
    浏览器允许跨域设置(不用于生产环境,开发用)
  • 原文地址:https://www.cnblogs.com/dennis0525/p/5436836.html
Copyright © 2011-2022 走看看