js数据类型及检测
ECMAScript 变量可能包含两种不同数据类型的值:基本类型值(基本数据类型)和引用类型值(复杂数据类型)。 基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。
基本数据类型包括 Undefined、 Null、 Boolean、 Number 和 String。这 5 种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值。
引用类型的值是保存在内存中的对象(Object),JavaScript 不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象。当从一个变量向另一个变量复制引用类型的值时,这个值实际上是一个指针,而这个指针指向存储在堆中的一个对象,两个变量实际上将引用同一个对象。
var obj1 = new Object(); var obj2 = obj1; obj1.name = "Nicholas"; alert(obj2.name); //"Nicholas"
要检测一个变量是不是基本数据类型,typeof 操作符是最佳的工具。返回值有六种 string、number、boolean、undefined、function、object。
typeof null; //object
instanceof 操作符能确定是什么类型的对象,其语为:result = variable instanceof constructor; //true or false