number string boolean symbol NaN undefined object
Number | String | Boolean | Symbol | Null | Undefined | Object | |
---|---|---|---|---|---|---|---|
Number | X | toString 与空字符串相加 |
Boolean() | ||||
String | X | ||||||
Boolean | toString | X | |||||
Symbol | X | !! | X | ||||
Null | 报错 | !! | X | ||||
Undefined | 报错 | !! | X | ||||
Object | String() ‘[obj obj]’ |
!! | X |
实用转为字符串好用的办法
// 数据 + 空字符串 = 字符串
123 + ” = ‘123’
true + ” = ‘true’
实用转为布尔值的办法
//. !! 双感叹号能够对数值进行 boolean()办法的判断
布尔值中判为 falsy
- 0 2.NaN 3.” 4.null 5. undefined 6.false
数据转换为数字
- number(‘1’) ===1
- parseInt(‘1’,10) === 1
- parseFloat(‘1.23’) ===1.23
- ‘1’ – 0 === 1. (骚办法 - 只用两个字符)
- +‘1’===1
数字是 64 位 字符是 16 位的
不同值的存储
- 简略。间接存入 stack
- 简单值存 heap 地址。存入 stack。object 变量的读取就是对象的援用
数据的存储的形式不同,导致对象的数据的利用汇出爱你的一些问题,
一些被创立后然而前期未被援用的数据就会被,内存回收的时候 ie6 有 bug,失常的页面 onclick 的缓存后的垃圾不进行回收解决
浅拷贝。和深拷贝的解决