基本类型:undefined null Boolean Number String 基本类型都是按值访问的,就是可以操作保存在变量中的值;
而引用类型的值是保存在内存中的,js是不能操作对象在内存中的位置的,实际上是操作的对象的引用,因此引用类型的值是按引用访问的
动态属性
对于引用类型的变量,可以对其增加和删除属性和方法。基本类型不可以
复制变量
基本类型
;
引用类型
在程序设计里边 注解有这样的一段话:当复制保存着对象的某个变量时,操作的是对象的引用。但在为对象添加属性时,操作的是实际的对象,举例说明
|
;
复制操作结束后,两个变量实际上将引用同一个对象。因此,改变其中一个变量,就会影响另一个变量.
类型检测
typeof
typeof 操作符是确定一个变量是字符串、数值、布尔值,还是undefined 的最佳工具。typeof是检测基本数据类型的得力助手,
但是对引用类型的话没有太大作用,如果变量的值是一个对象或null,则返回的是Object;
instanceof
我们并不是想知道某个值是对象,而是想知道它是什么类型的对象,就要用instanceof;
所有引用类型的值都是Object 的实例。因此,在检测一个引用类型值和Object 构造
函数时,instanceof 操作符始终会返回true。当然,如果使用instanceof 操作符检测基本类型的
值,则该操作符始终会返回false,因为基本类型不是对象。
当然instanceof还用来检测实例与原型之间的关系,所有出现在实例原型链上的原型都会返回true;