Js进阶10-typeof 的返回值

typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型

它会返回一个字符串,该字符串说明运算数的类型。

typeof 返回值有六种可能:"number""string""boolean""object""function""undefined "
详解:

1. 数字类型

typeof 返回的值是 number。比如说:typeof(1),返回的值就是 number。

上面是举的常规数字,对于非常规的数字类型而言,其结果返回的也是 number。

比如 typeof(NaN),NaN 在 JavaScript 中代表的是特殊非数字值,虽然它本身是一个数字类型。

在 JavaScript 中,特殊的数字类型还有几种:

Infinity 表示无穷大特殊值
NaN 特殊的非数字值
Number.MAX_VALUE 可表示的最大数字
Number.MIN_VALUE 可表示的最小数字(与零最接近)
Number.NaN 特殊的非数字值
Number.POSITIVE_INFINITY 表示正无穷大的特殊值
Number.NEGATIVE_INFINITY 表示负无穷大的特殊值

以上特殊类型,在用 typeof 进行运算时,其结果都将是 number。

2. 字符串类型

typeof 返回的值是 string。比如 typeof("123") 或者 typeof “123”,返回的值是  string。

3. 布尔类型

typeof 返回的值是 boolean 。比如 typeof(true),typeof(false) 的返回的值是 boolean。

4. 对象类型

对于对象、数组、null,返回的值是 object 。比如 typeof(window),typeof(document),typeof(null) 返回的值都是 object。

5. 函数类型

返回的值是 function。比如:typeof(eval),typeof(Date) 返回的值是 function;

6. 未定义

如果运算数是没有定义的(比如说不存在的变量、函数或者undefined),将返回  undefined。比如:typeof(sss)、typeof(undefined) 的返回值是 undefined;

注:typeof Object 和 typeof Array 的返回值是 function ,因为对象都是通过函数创建的。

你可能感兴趣的:(Js进阶,javascript,前端)