基础类型和引用类型
简单类型传递值,复杂类型传递地址简单数据类型(基础类型):number、string、boolean、undefined、null
复杂数据类型(引用类型):Array、function, Object
其实函数也是一种类型:
function abc(){}
console.log(typeof abc); // function
1. 值传递
存储在栈
内存空间,赋值的时候是将值复制一份给别人
----值传递
var num = 11;
var num1 = num;
num = 20;
console.log(num); //20
console.log(num1); //11
赋值传递的过程:
2. 引用传递
存储的时候值存储在堆
内存,将堆内存的地址存储在栈内存。
将自己的地址复制一份给别人
——两个变量共享同一个地址,改变一个,另一个也改变了——址传递
var obj = {
name:"zs",
age:18
}
var obj1 = obj;
obj1.name = "ls";
console.log(obj.name); //ls
console.log(obj1.name); //ls
引用传递过程:
总结
简单类型存储的是值本身,复杂类型存储的是地址,引入如果把第一个对象赋值给另一个变量,
此时两个变量会指向同一个对象
温馨提示:本人原创文章,如果存在错误或者表达不当之处,还望及时告知😊