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

原文地址:https://www.cnblogs.com/zjp-zxy/p/9553239.html