ECMAscript中的变量可以包含两种不同类的数据:原始值和引用值,保存原始值的变量是按值访问的,我们操作的是存储在变量中实际的值,保存引用值的变量是按引用访问的。
1. 动态属性:
对于引用值,可以添加删除,修改变量的属性和方法
对于原始值,没有属性
2. 复制值
对于原始值,复制值,对于引用值,复制的是指针
3. 参数传递
在按值传递参数时,值会被复制到一个局部变量,在按引用传递参数时,值在内存中的位置会被保存在一个局部变量
4. 确定类型
instanceof
所有引用值都是
Object
的实例,因此通过
instanceof
操作符检测任何引用值和
Object
构造函数都会返回
true
。类似地,如果用
instanceof
检测原始值,则始终会返回
false
,
因为原始值不是对象。