深入理解typeof操作符

Posted freefy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解typeof操作符相关的知识,希望对你有一定的参考价值。

typeof可以检测数据的类型

typeof返回结果的其实是字符串:可以通过以下测试出来

console.log( typeof(typeof(a))); // string

 typeof返回的数据类型有6种:

1.number-----数字类型的操作数typeof(123);

 NaN属于number类型。虽然是非数,但是非数也是数字的一种。

2.string--------字符串类型的操作数typeof(‘123‘);

3.boolean-----布尔值如:typeof(true);

4.object--------对象,数组,null,比如typeof(window),typeof(document),typeof(null);

其实null并不是一种对象,只是因为历史遗留性的问题,null通常用来作为对象占位符,所以被浏览器归到了object里面了。

5.function-----函数类型,比如typeof(eval),typeof(Date),typeof(Number),typeof(Object).

 

内置构造函数的分类
   ① ECMAScript核心语法自带内置构造函数: 有一部分内置构造函数:Function、 Object、 Array、 String、 Number、 Boolean、 RegExp、 Error、 Date
   ② 宿主环境: 也会支持一部分构造函数  例如Image。

 

6.undefined--未定义的变量,函数或者undefined

 注意:typeof测试任何变量都不会报错,未定义的变量会返回字符串undefined

例题:

var a = typeof undefined == typeof NULL;
console.log(a); //true
// 因为javascript严格区分大小写,这里的NULL不等于null,这里的NULL为undefined
 

 



以上是关于深入理解typeof操作符的主要内容,如果未能解决你的问题,请参考以下文章

深入理解javascript原型和闭包——instanceof

深入理解javascript原型和闭包——一切都是对象 (转载)

深入理解javascript原型和闭包——一切都是对象

深入理解javascript原型和闭包——一切都是对象

对JavaScript的深入理解

深入理解DOM节点类型第四篇——文档片段节点DocumentFragment