类型转换

2019-06-13  本文已影响0人  lyp82nkl

任意类型转字符串

  1. String(x)
  1. x.toString()


  1. x + ''(加号如果发现左右任意一边有字符串,他就会把另一边也变为字符串)


关于1+’1’为什么等于字符串’11’的解释:
加号运算,由于加号只能加相同类型的东西,所以他会尝试改变这个类型,优先会尝试把他变成字符串就相当于:(1).toString() +’1’,所以就是’11’

任意类型转数字
任意类型转布尔

false, 0, NaN, null, undefined, ’’(空字符串)

除了五个falsey值外,所有的object都是true,其他的都是true

内存图

数据区里的值:

  1. 简单(number/string/undefined/symbal/null/bolean) 存在stack栈内存里

  2. 复杂(Object类型) 存heap地址存入stack

简单类型又叫基本类型;复杂类型又叫引用类型。

引用:


注意:
1. 等于号只做一件事情,就是把右边的东西存到左边来;
2. Heap里面的内容只能添加不能直接更改

浅拷贝和深拷贝

深拷贝

var a = 1;

var b =a;

b = 2;

a = 1

基本类型的赋值就是深拷贝

浅拷贝

var a= {
name: ‘a’
}
var b = a;
b.name = ‘b’;
a.name = ? //结果也是’b’

b变导致a变这就属于浅拷贝

上一篇 下一篇

猜你喜欢

热点阅读