1、数据类型:boolean,null,undefined,String,Number,指向包含的数据,进行“值传递”;
2、非数据类型:Array,Function,Object,指向了一个内存地址,该地址存放了具体的数据,进行“引用传递”;
3、==
和===
只会判断引用的地址是否相同,而不会判断对象具体里属性以及值是否相同。因此,如果两个变量指向相同的对象,则返回true
。如果想判断两个不同的对象是否真的相同,一个简单的方法就是将它们转换为字符串然后判断。另一个方法就是递归地判断每一个属性的值,直到基本类型位置,然后判断是否相同。