JS中的数据类型分为两种:值类型和引用类型。
值类型
五种简单数据类型就是值类型。Number、Boolean、String、Null、undefined
但要特别主要Null:它的返回的是Object
值类型数据的存储方式
在栈空间开辟一个空间,用来存放值。
值类型数据在传参时:是把变量在栈空间的数值复制了一份给了形参
引用类型
引用类型就是复杂数据类型-----对象
引用类型数据的存储方式
在栈空间中开辟一块空间存放地址,这个地址指向堆空间的数据
参传时:是把变量在栈空间的地址复制了一份给形参。形参和实参保存的是同一个地址,故而指向堆中的数据是一样的,即指向同i个对象
主要是书上的那两个图,栈空间、推空间。
// 值类型
var a = 10;
// 变量b 在栈空间开辟一个空间,用来存值,a把自己的值赋给b 所有b在栈空间的值=10
// 但是a在栈空间的值还是存在的,以为a只是把自己的值复制了一份给b
var b = a;
console.log(b);
// 引用类型
var person = new Object();
person.name = 'TT';
// person把自己在栈空间的地址复制一份给了obj1 指向同一个对象
var obj1 = person;
console.log(obj1);