js数据在内存中的存储
//普通值(基本类型) var a = 1; var b = a; console.log(a, b); b = 2; console.log(a, b); //特殊的---对象(复杂类型) // var obj = {"age":40, "sex":"男"}; // var obj2 = obj; // console.log(obj, obj2); // obj2 = {'age':30}; // console.log(obj, obj2); //特殊写法 // var obj = {"age":40, "sex":"男"}; // var obj2 = obj; // console.log(obj, obj2); // obj2.age = 30; // console.log(obj, obj2); // obj 和 obj2中的age 都是30 //说明 obj 和 obj2两个变量,存储的是一个对象,是共用的 //函数参数 如果是对象 function fn(m){ m.age = 30; console.log(m); } var obj = {"age":40, "sex":"男"}; fn(obj); console.log(obj); //obj.age被改为 30
传值方式:
值传递 :基本数据类型,直接将变量放在栈区的值,复制一份,传给另外一个变量。
引用传递:对象类型,将变量放在堆区的值的地址,传给另外一个变量。
js中,对象(object , array, function), 传递过程中,都使用引用传递。

浙公网安备 33010602011771号