美文网首页让前端飞
js的六大数据类型

js的六大数据类型

作者: 强哥科技兴 | 来源:发表于2018-11-23 13:17 被阅读2次

    js中有六大数据类型,包括五种基本数据类型number、boolean、null、undefiined、string和混合数据类型object

    我们可以用typeof操作符来检测变量的数据类型(输出的是一个关于数据类型的字符串)

    以上代码中,null进行typeof操作符后,结果是object,是因为null被当做一个空对象引用。

    1、string类型

    在string类型中,单引号和双引号的作用效果完全一;

    string类型有length属性,可以获取字符串的长度。var str = “hello”;console.log(str.length);//5

    string类型的值是不可变的,要改变一个字符串的值,首先要销毁原来的字符串,然再用另一个包含新值的字符串填充该字符串

    上面这段代码。先创建一个长度为10的字符串,然后把“java”和“script”填充进去,得到“javascript”,最后销毁“java”和“script”,这个过程发生在后台

    字符串转换:转型函数String()适用于任何数据类型(null、defined转换后为null和defined),toString()方法(null和defined没有toString()方法)

    2、number类型

    number类型包含整数和浮点型(浮点型数值必须包含一个小数点且小数点后至少有一位数字)

    可以用一个值-0来将其转换成一个数字

    浮点数会自动转换为整数

    这里出现出现0.1+0.2不等于0.3的原因是十进制到二进制的转换导致的精度问题。使用了IEEE754浮点数格式”来存储浮点类型(float 32,double 64)的任何编程语言都有这个问题。

    NaN:非数字类型 特点:1、涉及到任何关于NaN的操作,都会返回NaN 2、与自身不相等

    isNaN()用来确定一个值是否为NaN 若isNaN()的参数不是number类型,isNaN()首先会尝试将该参数转换为数值类型,然后对转换后的结果是否为NaN进行判断。空字符串和布尔值可以强制转换为数值类型0或1,所以返回false

    Number()转型函数,可以用于任何数据类型;

    parseInt(),将值转换为整型,用的比较多;

    parseFloat();将值转换为浮点型。

    后面两者只能 用于字符串

    3、Boolean类型

    该类型只有两个值,true和false

    Boolean():将某个值转换为Boolean类型。

    如果逻辑对象无初始值或值为0、-0、false、undefined、null、""、NaN,那么对象的值为false,否者其值都为true(即使当自变量的值为字符串“false”时);

    4、null类型

    null是一个对象,但是为空,所以typeof null的时候,结果为object

    null在参与数值运算的时候会自动转换为0参与运算

    如果定义的变量用来保存对象,最好将该变量初始化为null

    实际上undefined值是派生自null值的,所以undefined==null

    类型转换:

    Boolean(null)//false

    Number(null) //0

    String(null) //'null'

    注意:

    null是空对象指针,{}是空对象,[]是空数组,三者不一样。

    null不能添加自定义属性

    5、undefined类型

    只有一个值即undefined,使用了var声明变量,但未给变量初始化值,那么这个变量的值就是undefined。

        var a="hello world";

        var b;

        console.log(typeof a);//string

        console.log(typeof b);//undifined

    出现场景:

    1、已声明未赋值的变量

    2、获取对象不存在的属性

    3、无返回值的函数的执行结果

    4、函数的参数没有传入

    类型转换:

    Boolean(undefined)//false

    Number(undefined) //NaN

    String(undefined)//'undefined'

    6、object类型

    object 属于引用数据类型

    对象是带有属性和方法的特殊数据类型

    js中的所有事物都是对象:字符串,数组,函数等。js也允许自定义对象。暂不多介绍

    结语

    “相信有很多想学前端的小伙伴,今年年初我花了一个月整理了一份最适合2018年学习的web前端干货,从最基础的HTML+CSS+JS到移动端HTML5等都有整理,送给每一位前端小伙伴,53763,1707这里是小白聚集地,欢迎初学和进阶中的小伙伴。”

    祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

    相关文章

      网友评论

        本文标题:js的六大数据类型

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