前端的堆和栈
1:栈
基本数据类型存储再栈中(字符串、数字、布尔、null、undefined)
基本数据类型赋值也称作传值
2:堆
复杂数据类型存储再堆中(数组、对象、键值对)
复杂数据类型赋值也称作传址 指向复杂类型的地址是存储在栈中的
传值和传址也就设计到浅拷贝和深拷贝的问题
3:面试题
1 var user = { 2 name: '小红' 3 } 4 function changeName(user) { 5 user.name = '小明' 6 user = { 7 name: '小兰' 8 } 9 } 10 changeName(user) 11 console.log('user', user, user.name);//??

如图解释

浙公网安备 33010602011771号