JS|JS 里的数据类型转换

目录

  • 类型转换
  • 内存图
  • 深拷贝VS浅拷贝
JS|JS 里的数据类型转换
文章图片
JS的7种数据类型 类型转换 一、其他类型转字符串:
3种方式:
1.xxx.toString() —— 常规方法
var n =1 n.toString() "1"

var object ={name:'ajing'} object.toString() "[object Object]" //对象的toString方法,得不到我们想要的

null不行,报错(Cannot read property 'toString' of null
undefined不行,报错(Cannot read property 'toString' of undefined
2.xxx+ '' —— 老司机方法(推荐)
1 + '' '1' // null + '' "null" // true + '' 'true' // var obj = {} obj + '' "[object Object]"

1 + '1' //等同于(1).toString() + '1' '11'

3.window.String(xxx)
var n=1 window.String(1) "1"window.String({}) "[object Object]"window.String(null) "null"

二、其他类型转boolean
1.Boolcan(xxx) —— 常规方法
Boolean(1) trueBoolean(0) falseBoolean('') falseBoolean(' ') true

2.!!xxx —— 老司机方法
!!{} true!!{name:'ajing'} true

5个falsy值:number中(0 NaN)、string中('')、null、undefined
object全都为true
三、其他类型转number

JS|JS 里的数据类型转换
文章图片
来自方姐
内存图 浏览器中JS占的内存分两个区域——代码区和数据区,数据区又分两个区——Stack(栈内存)和Heap(堆内存)
数字64位 字符16位

JS|JS 里的数据类型转换
文章图片
内存值分布
【JS|JS 里的数据类型转换】用内存图分析解决问题

JS|JS 里的数据类型转换
文章图片
问题1
JS|JS 里的数据类型转换
文章图片
问题2
关于垃圾回收
如果一个对象没有被引用,它就是垃圾,将被回收。


内存垃圾回收题 JS|JS 里的数据类型转换
文章图片
function要不要回收?
JS|JS 里的数据类型转换
文章图片
图解 深拷贝VS浅拷贝 深拷贝(a赋值给b,b变a不变),基本类型的赋值就是深拷贝
浅拷贝(a赋值给b,b变a也变)
JS|JS 里的数据类型转换
文章图片
浅拷贝 end

    推荐阅读