首页 > 编程笔记 > JavaScript笔记
JS typeof的用法
typeof 是一个运算符,用来检测给定的变量或值的数据类型,返回的值为操作数的数据类型名称,是一个字符串结果。
使用格式如下:
从代码的运行结果中看到,属于基本数据类型的 null,使用 typeof 检测时,结果却是 object,这似乎是说 null 应该属于引用类型。之所以出现这样结果,原因是:JavaScript 中的值在机器中都以二进制来表示,在 JavaScript 最初的实现中,JavaScript 中的值在机器中以 32 位单位存储,存储的值包括一个类型的标志和实际数据值两部分内容,类型标志使用低位的 1~3 三位来表示的。
对象的类型标志是低三位的 000。由于 null 代表的是空指针(大多数平台下值为 0x00),因此,typeof 会把 null 对应的二进制中的低三位 000 看成是对象的类型标志,从而错误地返回了 object。
使用格式如下:
typeof 操作数
说明:操作数可以是变量,也可以是具体的某个值(即字面量),返回值有以下几种:- undefined:表示操作数为未定义;
- boolean:表示操作数为布尔值;
- string:表示操作数为字符串;
- number:表示操作数为数字;
- object:表示操作数为对象或数组;
- function:表示操作数为函数。
使用 typeof 运算符检测数据类型的示例如下:注意:函数也是一种对象,但 typeof 将函数视为特殊情况,所以检测函数时,返回的结果为 function,而不是 object。
var miaov = 'ketang'; //声明变量,同时给变量赋值 console.log( typeof miaov ); //检测变量miaov,结果为:string console.log( typeof 1 ); //检测数字1,结果为:number console.log( typeof true ); //检测true,结果为:boolean console.log( typeof false ); //检测false,结果为:boolean console.log( typeof undefined ); //检测undefined,结果为:undefined console.log( typeof null ); //检测null,结果为:object console.log( typeof {} ); // 检测对象,结果为:object console.log( typeof [] ); //检测数组,结果为:object function func(){} //定义函数 console.log( typeof func ); //检测func函数类型,结果为:'function'
从代码的运行结果中看到,属于基本数据类型的 null,使用 typeof 检测时,结果却是 object,这似乎是说 null 应该属于引用类型。之所以出现这样结果,原因是:JavaScript 中的值在机器中都以二进制来表示,在 JavaScript 最初的实现中,JavaScript 中的值在机器中以 32 位单位存储,存储的值包括一个类型的标志和实际数据值两部分内容,类型标志使用低位的 1~3 三位来表示的。
对象的类型标志是低三位的 000。由于 null 代表的是空指针(大多数平台下值为 0x00),因此,typeof 会把 null 对应的二进制中的低三位 000 看成是对象的类型标志,从而错误地返回了 object。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算