28、JS的数据类型

2017-11-17  本文已影响9人  IUVO
html有标签类型:
    block   inline   inline-block   table   list
    不同类型显示效果不同

同样JS也有数据类型(ECMAScript定义的JavaScript的核心标准)
    数字     number     var i = 0;
    字符串   string     var str = 'im string';
    布尔     boolean    var b = true;
    函数     function   var fn1 = function() {};
    对象     object
                数组    var arrayS = [];
                json   var aJson = {};
                元素    var oDiv = document.getElementsByTagName('div')[0];
                null   var nullobj = null;
    未定义   undefined   var a; /  var a = undefined;
    null    object   var nullobj = null;

    获取数据类型:typeof
数据类型转换:
    1.强制类型转换
        Number();
            可以转换纯数字的字符串,不可以转换不是纯数字的字符串,否则会出现NaN,支持小数
        parseInt();
            可以转换不是纯数字的字符串,从第0位开始的一直读取到不是数字(包括小数点)为止的地方截取并转换为数字,不支持小数
            但是如果第0位开始就不是数字的,就会出现NaN
        parseFloat();
            可以转换不是纯数字的字符串,从第0位开始的一直读取到不是数字的位置或者后面都是0的那一串的第一个0的位置为止的地方截取并转换为数字,支持小数
            但是如果第0位开始就不是数字的,就会出现NaN


        NaN ( Not a Number )
            其他数据类型转换为数字类型错误时,或者运算出问题,结果就会是一个不是数字的数字类型

    2.隐式类型转换
        隐式类型转换最直观的一个例子:
            字符串 + 数值 = 字符串
            加号把数值隐式转换为字符串类型,包括对象等数据类型都会被转换隐式转换为字符串

            字符串 - 数值 = 数值
            减号把字符串隐式转换成数值类型,支持整数、小数,但是如果字符串不是纯数字,那么就会变成NaN类型,但是NaN类型也是Number类型,也属于隐式转化了类型
            (Tips:包括 * / % -- ++ > < 操作,都会隐式转换为Number类型)

            !取反操作,会把右边的数据转换为布尔值
            当字符串和字符串进行比较的时候,会逐个比较

            ==仅判断值是否相等,如果字符串和数值做判等,那么字符串会隐式转成数值做比较
            ===不仅判断值,还判断类型是否相等
上一篇 下一篇

猜你喜欢

热点阅读