标签:boolean str 没有 def 变量 不同 问题 object 内存
在面试中遇到的问题。
在JS中直到ES6有7种基本类型:string, number, boolean,null,undefined,object,以及ES6的symbol。
这7种基本数据类型又可以分为引用类型和基本类型。
引用类型有Object,Object又分为对象,数组,函数。
引用类型的特点是在赋值时,不管引用类型的数据被赋值给几个变量,内存中只有这一个数据,所有被赋值的变量都引用了这一个数据。且任何一个变量更改了值,所有引用了这个数据的变量的值也随之改变。
比如:
var a = [1,2,3];
var b = a;
b.push(4);
console.log(b); 结果是 [1,2,3,4]
console.log(a); 结果是 [1,2,3,4]
变量a和b都引用了同一个数据。
除了Object,其他的都是基本类型,赋值时会在内存中新建一个数据,不同的变量之间没有引用关系。
标签:boolean str 没有 def 变量 不同 问题 object 内存
原文地址:http://www.cnblogs.com/lizhiyaun/p/7810205.html