美文网首页Web前端之路
review javascript 03:javascript数

review javascript 03:javascript数

作者: 蝴蝶结199007 | 来源:发表于2017-03-29 02:08 被阅读17次

    (1)知识点

    不同的数据类型,都有不同的用途

    • (1.1)数据类型分类:【原始数据类型】和【引用数据类型】
    • (1.2)javascript数据类型是弱类型
    • (1.3)javascript数据类型转换

    (2)细化

    (2.1)数据类型分类

    原始数据类型:string、number、boolean、undefined、null

    • +运算中,如果参与运算的都是字符串,则加法变为字符串拼接
    • 按指定小数位数四舍五入
    n.toFixed(2)-->将计算结果按2位小数四舍五入
    
    • typeof 运算符对于 null 值会返回 "Object"
    • console.log(null == undefined) //true

    引用数据类型:Object、Array、Date、Function、RegExp、基本包装类型(String、Number、Boolean)
    参考:http://blog.csdn.net/liangshiquan1/article/details/49909825

    (2.2)javascript数据类型是弱类型

    • 声明变量时,不用考虑变量中将要存储的数据类型
    • 赋值时,动态判断数据的类型;同一个变量,先后可保存不同类型的数据。
    • 运算时,js会根据自己的需要,动态转换数据类型

    (2.3)javascript数据类型转换

    隐式类型转换

    • 默认一切转数字类型,做算数计算
      boolean类型:true-->1 false-->0
    • +法中,只要有一个是字符串,都转为字符串,+变为字符串拼接;其他类型转字符串: 在字面量前后直接加引号
    • 当无法转为数字时,或无法正常计算时,结果永远为NaN;加法计算中,碰上字符串,也会转为"NaN"

    ** 强制类型转换**

    • 任意类型转为string
      两种转换形式:
      var str=x.toString(); //不能转为undefined,null
      var str=String(x); //相当于隐式转换

    • 任意类型转为number
      var n=Number(x); //相当于隐式转换

    • string转为number
      (1)to 整数:var n=parseInt(str);
      如果传入的不是字符串,则先隐式转为String
      原理:从头开始读取字符串中每个字符,跳过开头的空字符,只读取数字字符,只要碰到第一个不是数字的字符,就退出,不认识小数点。

    Number(x) vs parseInt(str):
    Number只认识纯数字组成的字符串,Number可转boolean类型
    parseInt(str)认识包含非数字字符的字符串开头位置的数字,parseInt转不了boolean
    

    (2)to 浮点数:var n=parseFloat(str);
    用法和parseInt用法完全一样,只认第一个碰到的小数点。

    • 任意类型转为boolean
      var bool=Boolean(x);
    " "   0    NaN   undefined   null -->false 
    其余都是true
    

    PS:所有从页面获取到的都是字符串


    (3)实践

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>javascript数据类型</title>
    </head>
    <body>
        
    <script type="text/javascript">
        init();
        function init(){
            console.log(undefined==null);  //true
            testTpyeof();
            judge();
        }
        
        function testTpyeof(){
            console.log(typeof null);    //object
            console.log(typeof 2);    //number
            console.log(typeof '2');    //string
        }
        
        //默认一切转数字类型,做算数计算
        function judge(){
            var a=2;
            var b='2';
            console.log(a==b);    //true
            console.log(a+b+true);    //22ture
            console.log(a+b+"true");    //22true
        }
        
    </script>
    </body>
    </html>
    

    相关文章

      网友评论

        本文标题:review javascript 03:javascript数

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