一、简单数据类型和复杂数据类型
如果有个变量我们暂时没想好放啥,就先赋值给它null
var a = null;
console.log(typeof a); //object
堆和栈
js里面没有堆和栈的定义,这样就是方便理解,两者互不干扰
简单数据类型存放在栈里面,直接开辟一块空间赋值过去。
复杂数据类型,首先在栈里面存放数值(16进制),然后这个地址指向堆里面的数据
二、简单数据类型传参
三、复杂数据类型传参
答案是1刘德华2刘德华3 张学友4张学友
为什么第四个里面也是张学友,因为发现p和x他俩指向的是一个地,简单数据类型的栈那块,形参就直接复制了他的数值
但是堆那里,形参和实数指向的都是一块地址,形参改变,实参就会随之改变。