二者区别:
基本数据类型:undefined,null,string,number,boolean.
- 引用类型的值是保存在内存中的对象(js不能操作对象的内存空间,操作对象是操作他的引用。)
- 动态的属性:引用类型的值,可以为其添加和删除属性,方法。
person.name = '小妹';
console.log(person.name)//小妹
不能给基本类型的值添加属性,不会报错,但是会变成undefined
var a = '小妹';
a.age = '19';
console.log(a.age)//undefined
- 复制变量值 : 复制基本数据类型时,在变量对象上创建一个新值,然后将该值复制到新值的位置上。复制引用数据类型时,将存储在变量对象中的值复制一份放在为新变量分配的空间中,但是这个值是一个指针,指向存储在堆中的一个对象。所以俩个变量实际引用同一个对象。
- 传递参数: 函数的参数是按值传递的。