javascript里的数据类型转换

任意类型转字符串

1.用String(转换内容):

String(1)
"1"
String(true)
"true"
String(null)
"null"
String(undefined)
"unedfined"
String({})
"[object object]"

2.内容.tuString()...(此方法null跟unedfined控制台会报错)

(1).tuString()
"1"
true.toString()
"true"
({}).toString()
"[object object]"

3.内容+ ""也能转换字符串:

1+""
"1"
true +""
"true"
null +""
"null"
undefined + ""
"undefined"
var x= {}
x + ""
"[object object]"

任意类型转数字

1.Number(数字)(以下“f”没有值的情况是:(NaN))

Number("f")
NaN
Number("2")

2.parseint(内容,进制单位)

parseInt("56",8)
46
parseInt("56",10)
56
parseInt("56",16)
86

3.parseFloat("小数")

parseFloat("123.321")
123.321

4.内容 -0

"1" - 0
1
"tuer" -0
NaN

5.+内容

+ "1"
1

任意类型转布尔

1.Boolean("内容")

Boolean(Accelerometer)
true

2.!!内容

!!abc
true

3.以下5个false 值(除了这5个值其余的转换为true)

Boolean (0)
false
Boolean(NaN)
false
Boolean(null)
false
Boolean("")
false
Boolean(undefined)
false

内存图解

1.JS 引擎将内存分为代码区和数据区

2.数据区分为 Stack(栈内存) 和 Heap(堆内存)

  • 简单类型(6种类型)的数据直接存在 Stack 里
  • 复杂类型(object)的数据是把 Heap 地址存在 Stack 里

深复制与浅复制

1深复制:

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

2.浅复制:

var a = {name: 'xyb'}
var b = a
b.name = 'b' // b 操作后,a 也变了
a.name === 'b' // true
a受b影响也变了,那么这就是一个浅复制。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,216评论 0 13
  • 任意类型转字符串 String(x) x.toString() x + ''+运算符会尝试先把两边的东西转换成相同...
    封燐阅读 226评论 0 0
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,060评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 我在湛藍星空下 丟一枚錢幣許願 … … … … … …
    文學青釀阅读 186评论 0 0