1.Number
2.String
3.Null
4.undefined
5.symbol
6.boolean
以上都是简单类型
7.object
var a=1
a.toString() //1 转换成字符串
null undefined 没有toString() api 报错
object 的toString()
利用 +' ' 转换成字符串 # + #会尝试把左右都转换成字符串
window.String() 转换字符串
布尔(boolean)
转换成布尔
取反 任何数取反2次都可得到一个布尔
5个特殊值
number 中 0 NaN false
string 中空字符串'' false
null null false
undefined undefined false
object 所有的数组函数都是true
转换为number
'1' -> 1
- number('1')===1
- parseInt('1',10)===1
- parseFloot('1.23')===1.23
- '1'-0
- +'1' / + '-1'
存储
stack (栈) 简单类型
number null undefined symbol boolean
heap(堆) 复杂类型
object
GC 垃圾回收
如果一个对象没有被引用 就是辣鸡 将会被回收
深拷贝/浅拷贝
var a=1
var b=a
b=2
b变不影响a (深拷贝)
var a={ name:'a'}
var b=a
b.name='b'
a.name的值也变成b了 (浅拷贝)