JS里的类型

2018-04-20  本文已影响0人  奈_4f97

1.Number
2.String
3.Null
4.undefined
5.symbol
6.boolean
以上都是简单类型
7.object

var a=1
a.toString() //1 转换成字符串
null undefined 没有toString() api 报错


null 报错
undefined 报错

object 的toString()

并不是想要的结果

利用 +' ' 转换成字符串 # + #会尝试把左右都转换成字符串

image.png

window.String() 转换字符串

image.png

布尔(boolean)

转换成布尔


image.png

取反 任何数取反2次都可得到一个布尔


等同于上面的效果

5个特殊值
number 中 0 NaN false
string 中空字符串'' false
null null false
undefined undefined false
object 所有的数组函数都是true

转换为number

'1' -> 1

  1. number('1')===1
  2. parseInt('1',10)===1
  3. parseFloot('1.23')===1.23
  4. '1'-0
  5. +'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了 (浅拷贝)

上一篇 下一篇

猜你喜欢

热点阅读