数据类型

316 阅读3分钟

基本数据类型/值类型(操控值)

  • 存储在栈内存中,提供代码环境
  • 数字 字符串 布尔 null undefined
  • 1.字符串string,被引号(单引号,双引号,反引号)包起来的部分 双引号之间不能包含双引号;单引号之间不能包含单引号; 如果单引号中包含了单引号用反斜杠 \ 转义即可 2.反引号(拼接变量)通过使用${变量名}的方法使用
  • 数字 整数 小数 NaN (not a number)
  • Number()把其他类型转成数字类型 规律: 从左向右查看 只要碰到非数字 结果就是NaN Nnmber('')结果是 0 Nnmber([])结果是 0 Nnmber(null)结果是 0 Nnmber(false)结果是 0 Nnmber({})结果是 NAN
  • parseInt()过滤整数` 规律: 从左到右查看 碰到非数字 就停止转换;如果第一个字符就是非数字 结果就是NaN
  • parseFloat()处理小数 规律:同parseInt
  • 布尔 true false Boolean() 把其他数据类型转化为布尔类型 0 NaN '' null undefined 只有这五个值转化为布尔结果是false 其他的就是true
  • null 空指针对象
  • undefind 未定义
  • !取反
  • 对于 数字类型来说 使用中括号[ ] [ ]中放的都是字符串,若不是字符串 也不是数字 那么Js会把中括号内部的值 当作变量使用

打点跟字符串是等价的 若中括号中放置的不是字符串 也不是数字 那么就是一个变量这是需要我们吧变量对应的值 放在这个位置 再去取对应的值

引用数据类型(操控地址)

  • 函数 对象 数组 正则 Date

  • 存储在堆内存中

  • 普通对象{属性名1:属性值1,属性名2:属性名2} 存储过程: Js读取到这段代码的时候发现是一个普通对象,就会去堆内存中开启一个新的空间,把对象中的键值对 ,一对一对的放在这个 空间里,然后把这个空间的地址赋给变量名 属性名可以是单独数字命名,但是不能数字+字母;属性名上的引号是可以省略不写的,一般不写;属性名可以重复使用,但是储存的时候会自动用下面重复的属性名 会把上面的覆盖,调用时 只会出现一个。就是下面的那个

  • 对象的增删改查

    :若对象中原本没有这个属性时,直接给对象对象增加一个属性 对象名.新的属性名 = 新的属性值

    :真删除和假删除

    真删除:delete obj.a直接把对应的属性删除

    假删除:obj.a = null对象中仍然有这个属性,只是属性值变成了unll

    :若对象中有这个属性时,然后又定义了这个属性,这是就是把原本的改了

    :获取对象中的某个属性对应的属性值

    obj['name']、obj.name

  • 判断数据类型

    typeof

    Object.prototype.ToString.call