• JavaScript数据类型


    数据类型

    一、常见数据类型

    字符(string):引号("")			//"hello"  
    	只要是被引号括起来的内容都是字符
    数值(number):0123456789			//3.1425926
    布尔(boolean):true,false			//true,false  (真,假)
    未赋值(undefined):undefined		//undefined   
    	这是一种特殊类型,当变量被声明,但是没有被赋值的时候,那么该变量的类型的undefined
    对象(object):一般是花括号{}			//{}object
    数组(array):一般是中括号[]			//[]
    	数组是一种特殊的对象
    函数(function):标志是:			//function...
    	函数是一种特殊的对象
    

    二、JavaScript的三大特殊值 NaN、undefined、null

    NaN:不是一个数字的数值型数据
        代表意外或非法转化的数字
        NaN和任何数据都不相等,甚至不等于自己
        //认识isNaN()函数,该函数判断括号内的值是否是NaN,是就返回true,不是就返回false
        console.log(isNaN(c));
    null:空
    	类型是对象,表示空nall。但不是空对象
    undefined:未定义
        null和undefined隐式类型转换后可能相等(不严格比较)
        因为都转为布尔值,两者在布尔值中都为false
    

    三、如何检测数据类型:

    ​ 使用关键字:typeof

    //在打印内容前加上关键字typeof,打印出来的就是当前内容的数据类型
    condole.log(typeof "123");	//string
    condole.log(typeof 123);	//number
    

    四、数据保存在哪?

    保存在变量中:变量比作仓库。变量需要声明之后才能使用
    

    五、数据类型转换

    数据类型转换的分类:

    1.隐式数据转换

    情况(场景):
        1.在算数运算中(通过算数运算符转换)
            转换的规则:
                +号只要两边出现一个字符,另一个也会转换成字符
                -*%/直接都作为数值运算(可将某srting类型数字*1转换为number类型数字)
        2.if等判断语句中(if语句括号中的值)
            数字:非0为true,0为false
            字符:非空为true,空为false
            对象:在任何时候都为true
            数组:在任何时候都为true,数组也是对象的一种
            函数:在任何时候都为true,函数也是特殊的对象
            NaN:为false
            undefined:为false
            null:为false
    

    2.显式转换

    字符转数值

    ​ Tip:我们想做数学运算的时候,应该先对所有的数据类型进行统一(统一成数字格式),这个时候我们就该用到数据类型的转换。

    (1) 普通字符转换
    parseInt();括号里就是需要转换的数据(可用于小数取整)
        数字可以转换,非数字停止。
        从左向右转换,能转就转,不能转就停止,后面的不再转换。
        若第一个就不能转,则显示NaN,
        能用在转换整数,认为小数点是非数字。
    	例:
            parseInt("123abc");//123
           		a做为第一个不是数字的字符;返回a之前的所有值,则该方法返回123
            parseInt("abc123");//NaN
            	a做为第一个不是数字的字符,且处在字符串的第一位,则判定该字符串无法转换为数字返回NaN
    
    parseFloat();
        数字可以转换,非数字停止
        从左向右转换,能转就转,不能转就停止,后面的不再转换。
        若第一个就不能转,则显示NaN,
        可以识别小数点
        例:
            parseFloat(“123.456");返回123.456
            parseFloat(“123.4a56");返回123.4
            parseFloat(“123.00");返回123
            parseFloat(“123.0a56");返回123
    
    (2) 特殊字符转换
    Math.round();
        严格转换,不允许出现任何非数字,若有非数字直接显示NaN。
        可以识别小数点,但会四舍五入取整。小数点后的被四舍五入
        实质是取最近的整数,能在正数有四舍五入的效果。
        若为负数;例:Math.round(-3.6);//-4(数字进一反而变小了)
    Number()//为强制数据类型转换 将string类型的数字转为number类型的数字
        严格转换,不允许出现任何非数字,若有非数字直接显示NaN。
        可以识别小数点
            Number("hello world");    //NaN
            Number("123456");         //123456
    

    数值转字符

    toString();
    	直接转换:相当于直接给数值添加个引号
    	例:
            var num = 123;
            num.toString();//"123" 转换成字符串
    toFixed();		
    	保留N位小数的转换(转换后变成字符)
    		直接转换,可以保留N位小数
    		例:
    			var a = 3.1415
    			a.toFixed(2);//"3.14" a转换为字符 ,保留两位小数,四舍五入
    		字符多位,小数可以补0
    			a.toFixed(6);//"3.141500"//字符型,后面可以补0
    		Tip:而数值多位,小数没办法补0,计算机认为是无意义的,会自动省略。
    
  • 相关阅读:
    animation循环滚动
    <canvas>简单学习
    月末总结
    回顾-总结(2)
    初识正则
    学习中小项目遇到事
    在炎热的夏天学习以提高效率
    前端存储之cookie、localStorage
    总结(1)
    jQuery
  • 原文地址:https://www.cnblogs.com/zhupengcheng/p/11397045.html
Copyright © 2020-2023  润新知