5种基本数据类型:Undefined、Null、Boolean、Number和String。
1中复杂数据类型:Object函数
typeof操做符返回一个字符串,表示未经求值的操做数的类型。prototype
typeof可能的返回值:code
"undefined"——若是这个值未定义;对象
"boolean"——若是这个值是布尔值;字符串
"string"——若是这个值是字符串;string
"number"——若是这个值是数值;io
"object"——若是这个值是对象或 null;console
"function"——若是这个值是函数。function
注意事项:
typeof null 返回 object。
typeof 是一个操做符而不是函数,圆括号尽管能够使用,但不是必需的。
//typeof str 或者 typeof(str) 都可以object
用来检测引用类型:知道一个值是什么类型的对象。返回true/false。
全部引用类型的值都是 Object 的实例。
若是使用 instanceof 操做符检测基本类型的值,则该操做符始终会返回 false,由于基本类型不是对象。可是使用new关键字构造基本数据的包装对象的实例时instanceof操做符也会返回true。(instanceof只适用于构造函数建立返回的复杂对象和实例。)
用instanceof检测undefined和null是否是Object实例时,返回false。
function Person(){} function Student(){} Student.prototype = new Person(); var John = new Student(); console.log(John instanceof Student); // true console.log(John instancdof Person); // true console.log(John instancdof Object); // true var a; 用instanceof检测undefined和null是否是Object实例时,返回false。 typeof a; //"undefined" a instanceof Object; //false var b = null; typeof b; //"object" b instanceof Object; //false