值传递和引用传递
堆 队列优先 先进先出 (常量) 程序员手动开辟和释放空间
栈 先进后出 (存储变量和参数) 系统自动分配和释放空间
关于堆栈、数据类型也可以转JavaScript学习记录(二),在文章的最后面。
值传递
var a = 3;
var b = a;
a = 4;
console.log(a,b) //4 3
引用传递
var arr = [4,2,3];
var list = arr;
arr[0] = true;
console.log(arr,list);
var obj = { name:"张三",age:16};
var obj1 = obj;
obj.name = "李四";
console.log(obj,obj1);
复制过去的是地址,他们指向同一片内存。
总结:
基本数据类型 属于值传递 字符串 数值 布尔
复杂数据类型 属于引用传递 数组 对象