JS 引擎将内存分为代码区和数据区数据区分为 Stack(栈内存) 和 Heap(堆内存)简单类型的数据直接存在 Stack 里复杂类型的数据是把 Heap 地址存在 Stack 里
除object外,其他数据类型都是简单类型,object是其他简单类型构成的复杂类型
先看看简单类型:
任意类型转字符串
把数据转化为字符串有三种方法
1.String(x)
2.x.toString
3.x+''
需要注意的是,"undefined"和"null"不可以使用toString方法,会报错
而object转换为字符串时,得到的是"[object Object]"
任意类型转布尔
-
Boolean(x)
-
!!x
布尔值五个falsy: 0 NaN null undefined ""
除此之外都是true
任意类型转数字
1.Number(x)
Number函数将字符串转为数值,,只要有一个字符无法转成数值,整个字符串就会被转为NaN。布尔值:true 转成 1,false 转成 0,null转换为0,undefined转换为NaN
2.parseInt(x, 10)
parseInt逐个解析字符,遇到无法转换的就返回
parseInt和Number函数都会自动过滤一个字符串前导和后缀的空格。
parseFloat(x) //转换浮点数
x - 0
+x
第五个方法中,+并不是取他的绝对值
"null"和"undefined"就不讨论了,从其他类型转换过来还不如直接创建
网友评论