美文网首页
【JavaScript】数据类型

【JavaScript】数据类型

作者: TianZhu | 来源:发表于2016-04-21 11:29 被阅读0次
    1. JavaScript的数据类型分为两种:原始类型和对象类型
      原始类型又叫基本数据类型
      对象类型又叫引用数据类型
    2. 区别:原始值不能更改,对象值可以更改。
      原始值存储在栈内存(stack)中
      对象值存储在堆内存(heap)中
      栈中存储的是一个具体的值,可以直接拿来用,堆存储的是一块数据,每块数据有一个相应的地址,地址一般存在栈中的一个变量里

    原始类型(基本数据类型)

    共有<strong>5种</strong>原始类型
    number, string, boolean, null(空), undefined(未定义)

    数字(number)

    1. 整型:一般以十进制,也可以使用十六进制。
    2. 浮点型:
      坑!
      js通过一种二进制法表示分数,转换成我们常用过的十进制分数,会产生一个精度问题,如:
    var x = 0.3 - 0.2
    var y = 0.2 - 0.1
    x == y   // false
    x == 0.1 //false
    x = 0.09999999999999998
    y = 0.1
    

    所以当使用浮点数进行计算的时候,要根据需要注意取整,比如动画。

    字符串(string)

    一组放在引号里的大串字符序列
    可以使用<strong>String对象</strong>的所有属性和方法(存在隐式转换)
    属性:str.length
    常用方法:str.charAt(0); str.substring(1,4); str.indexOf('e'); str.split('e');

    布尔值

    任意的JS值都可以转为布尔值
    undefined,null,0,-0,NaN,""空字符串都会转成false
    除此之外,包括<strong>对象、数组</strong>,都会转成true

    null(空)

    是一个控对象的占位符,类型typeof(null)为object

    undefined(未定义)

    typeof为undefined

    <strong>null,undefined,NaN的区别</strong>
    一 类型分析
    未定义的值和定义但还没有赋值的值为undefined
    null是一种特殊的object
    NaN是一种特殊的number
    二 比较运算
    1)undefined与null是相等(==),但不全等(===);
    2)NaN与任何值都不相等,与自己也不相等。

    对象类型

    对象是属性的集合,每个属性都由名/值对构成。值可以是原始值,如数字、字符串,也可以是对象

    • 普通的JS对象是“命名值”的无序集合
    • 数组是一种特殊的对象,表示带编号的值的有序集合,拥有一些和普通对象不同的特有行为特征
    • 函数也是一种特殊的对象

    类(class)
    数组(Array)类
    函数(Function)类
    日期(Date)类
    正则(RegExp)类
    错误(Error)类

    相关文章

      网友评论

          本文标题:【JavaScript】数据类型

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