基本数据类型/值类型(操控值)
- 存储在栈内存中,提供代码环境
- 数字 字符串 布尔 null undefined
- 1.
字符串string,被引号(单引号,双引号,反引号)包起来的部分 双引号之间不能包含双引号;单引号之间不能包含单引号; 如果单引号中包含了单引号用反斜杠 \ 转义即可 2.反引号(拼接变量)通过使用${变量名}的方法使用 数字整数 小数 NaN (not a number)- Number()把其他类型转成数字类型
规律: 从左向右查看 只要碰到非数字 结果就是NaN
Nnmber('')结果是 0Nnmber([])结果是 0Nnmber(null)结果是 0Nnmber(false)结果是 0Nnmber({})结果是 NAN - parseInt()过滤整数` 规律: 从左到右查看 碰到非数字 就停止转换;如果第一个字符就是非数字 结果就是NaN
- parseFloat()处理小数 规律:同parseInt
布尔true false Boolean() 把其他数据类型转化为布尔类型0 NaN '' null undefined只有这五个值转化为布尔结果是false 其他的就是truenull空指针对象undefind未定义- !取反
- 对于 数字类型来说 使用中括号[ ] [ ]中放的都是字符串,若不是字符串 也不是数字 那么Js会把中括号内部的值 当作变量使用
打点跟字符串是等价的 若中括号中放置的不是字符串 也不是数字 那么就是一个变量这是需要我们吧变量对应的值 放在这个位置 再去取对应的值
引用数据类型(操控地址)
-
函数 对象 数组 正则 Date
-
存储在堆内存中
-
普通对象{属性名1:属性值1,属性名2:属性名2} 存储过程: Js读取到这段代码的时候发现是一个普通对象,就会去堆内存中开启一个新的空间,把对象中的键值对 ,一对一对的放在这个 空间里,然后把这个空间的地址赋给变量名 属性名可以是单独数字命名,但是不能数字+字母;属性名上的引号是可以省略不写的,一般不写;属性名可以重复使用,但是储存的时候会自动用下面重复的属性名 会把上面的覆盖,调用时 只会出现一个。就是下面的那个 -
对象的增删改查增:若对象中原本没有这个属性时,直接给对象对象增加一个属性 对象名.新的属性名 = 新的属性值删:真删除和假删除真删除:delete obj.a直接把对应的属性删除假删除:obj.a = null对象中仍然有这个属性,只是属性值变成了unll改:若对象中有这个属性时,然后又定义了这个属性,这是就是把原本的改了查:获取对象中的某个属性对应的属性值obj['name']、obj.name
-
判断数据类型typeof
Object.prototype.ToString.call