美文网首页
JS基础类型转换与内存图

JS基础类型转换与内存图

作者: MajorDong | 来源:发表于2019-05-12 16:14 被阅读0次

1.JavaScript的类型转换

1.1 任意类型转字符串String

  • String(x)
  • x.toString()
    nullundefined类型会报错
  • x + ' ' 与空字符串相加

1.2任意类型转数字number

  • number('1') === 1`
  • parseInt('1', 10) === 1
  • parseFloat('123') === 1.23
  • '1' - 0 === 1
  • + '1'取正

1.3任意类型转布尔boolean

  • Boolean()
  • !!x
    五个falsy值 0 NaN ' ' null undefined

2.深复制与浅复制

var a = 1
var b = a
b = 2 //这个时候改变b 
a完全不受b影响,我们就说这是一个深复制

对于简单类型的数据来说,赋值就是深拷贝。
对于复杂类型的数据(对象)来说,才要区分浅拷贝和深拷贝

这是一个浅拷贝的例子

var a = {name: 'frank'}
var b = a
b.name = 'b'
a.name === 'b' //true

因为我们对b操作后,a也变了
什么是深拷贝就是对Heap内存进行完全的拷贝

var a = {name: 'frank'}
var b = deepclone(a) //deepclone还不知如何实现
b.name = 'b'
a.name === 'frank'//ture

相关文章

  • JS基础类型转换与内存图

    1.JavaScript的类型转换 1.1 任意类型转字符串String String(x) x.toString...

  • JavaScript数据类型(21)

    JavaScript类型简介 类型转换 各种类型的API 内存图 深拷贝VS浅拷贝 JS的七种数据类型:numbe...

  • JS数据类型转换

    本博客会讲解下面几个概念 数据类型转换内存图垃圾回收和内存泄漏浅拷贝与深拷贝 数据类型转换 1. 任何类型转Str...

  • JS中的数据类型转换&浅谈深与浅拷贝

    本文会介绍将其他的数据类型转换成特定的一种数据类型。另外会简单引申JS中的内存图,深拷贝与浅拷贝等相关知识。 将其...

  • JS数据类型转换(2)

    在上一篇的js数据类型转换(1)中,只考虑了基础数据类型之间的相互转换,未考虑对象和基础类型的转换,本篇做介绍。 ...

  • JS 里的数据类型转换

    内容: 类型转换 五个falsy值 内存图 垃圾回收 深浅拷贝 强制转换 一. 任意类型转Number 五种...

  • js类型转换和内存

    类型之间的转换 转换为字符串 Console.log打印的都是字符串。 string tostring x+'' ...

  • js 数据类型转换和内存图

    转成字符串 toString null 和 undefined都报错 + '' String() 转成Boolea...

  • JS 里的数据类型转换

    目录 类型转换内存图深拷贝VS浅拷贝 类型转换 一、其他类型转字符串:3种方式:1.xxx.toString() ...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

网友评论

      本文标题:JS基础类型转换与内存图

      本文链接:https://www.haomeiwen.com/subject/ngbfaqtx.html