3. 类型、值和变量
能够表示并操作的值的类型,称为数据类型。
JS的数据类型分为两类:
原始类型(primitive type)
对象类型(object type)
原始类型包括:数字,字符串和布尔值。
两个特殊的原始值:null 和 undefinde,他们不是数字,字符串和布尔值,但也是原始类型,并且通常分别代表了个子特殊类型的唯一成员。
对象类型是属性的集合,每个属性都由”名/值”对构成,值可以是原始值也可以是对象。
特殊对象:全局对象(global object)、数组(array)、函数(function)。
普通JS对象是“命名值”的无序集合。
类可以看做对象类型的子类型。
除了数组类和函数类,JS语言核心还定义了三种类:日期类(Date),正则类(RegExp),错误类(Error)。
JS解释器有自己的内存管理机制,可以自动对内存进行垃圾回收。当一个对象不再有任何引用指向时,则回收它所占内存。
JS是一种面向对象语言,即数据类型本身可以定义方法来使用值。
如:对数组a进行元素排序,不必讲a传入sort()函数中,直接调用a的一个方法sort():a.sort(),即可。
JS中,只有null和undefined无法拥有方法。
字符串可以看成字符组成的数组,但是这个数组不可变。
JS变量用var声明,是无类型的。