一、简单数据类型和复杂数据类型
特例:简单数据类型null,返回的是一个空的对象
所以说如果有个变量打算存储对象,但是没想好放啥,就放个null就行
var a = null;
console.log(typeof a); //object
堆和栈
实际上JavaScript中没有堆栈,但是可以帮我们理解理解
简单数据类型存放到栈里面,存放的是值
复杂数据类型放到堆里面,存放的是地址,然后地址指向堆里面的数据
二、简单数据类型传参
三、复杂数据类型传参
这里要清楚,栈里存数据,堆里存的是地址,所以复杂数据类型传参的话,如果函数里对数据进行了改变,那么因为实参和形参指的是同一个地址,实参就会随之改变
答案是1刘德华2刘德华3 张学友4张学友
注:这部分内容应该是面试高频,后面再好好理解理解