JS里的数据类型转换

2020-01-20  本文已影响0人  卡布i

JS 引擎将内存分为代码区和数据区数据区分为 Stack(栈内存) 和 Heap(堆内存)简单类型的数据直接存在 Stack 里复杂类型的数据是把 Heap 地址存在 Stack 里

除object外,其他数据类型都是简单类型,object是其他简单类型构成的复杂类型

先看看简单类型:

任意类型转字符串

把数据转化为字符串有三种方法

1.String(x)

2.x.toString

3.x+''

需要注意的是,"undefined"和"null"不可以使用toString方法,会报错

而object转换为字符串时,得到的是"[object Object]"

任意类型转布尔

  1. Boolean(x)

  2. !!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逐个解析字符,遇到无法转换的就返回
image
parseInt和Number函数都会自动过滤一个字符串前导和后缀的空格。

parseFloat(x) //转换浮点数
x - 0
+x

第五个方法中,+并不是取他的绝对值

"null"和"undefined"就不讨论了,从其他类型转换过来还不如直接创建

上一篇 下一篇

猜你喜欢

热点阅读