JavaScript中 typeof运算符 详解

简介:

typeof运算符介绍:
typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。
它返回值是一个字符串,该字符串说明运算数的类型。 

你知道下面typeof运算的结果吗?

    typeof(1);  
    typeof(NaN);  
    typeof(Number.MIN_VALUE);  
    typeof(Infinity);  
    typeof("123");  
    typeof(true);  
    typeof(window);  
    typeof(document);  
    typeof(null);  
    typeof(eval);  
    typeof(Date);  
    typeof(sss);  
    typeof(undefined);  

看看你会几个?



看了以后,不是很明白的话,请看下面(明白的人就不用浪费时间了,呵呵):


typeof是一个一元运算符,它返回的结果始终是一个字符串,对不同的操作数,它返回不同的结果。


具体的规则如下:


一、对于数字类型的操作数而言, 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。



二、对于字符串类型, typeof 返回的值是 string。比如typeof("123")返回的值是string。


三、对于布尔类型, typeof 返回的值是 boolean 。比如typeof(true)返回的值是boolean。


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


五、对于函数类型,返回的值是 function。比如:typeof(eval),typeof(Date)返回的值都是function。


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


    <script>  
        document.write ("typeof(1): "+typeof(1)+"<br>"); 
        document.write ("typeof(NaN): "+typeof(NaN)+"<br>"); 
        document.write ("typeof(Number.MIN_VALUE): "+typeof(Number.MIN_VALUE)+"<br>") 
        document.write ("typeof(Infinity): "+typeof(Infinity)+"<br>") 
        document.write ("typeof(\"123\"): "+typeof("123")+"<br>") 
        document.write ("typeof(true): "+typeof(true)+"<br>") 
        document.write ("typeof(window): "+typeof(window)+"<br>") 
        document.write ("typeof(document): "+typeof(document)+"<br>") 
        document.write ("typeof(null): "+typeof(null)+"<br>") 
        document.write ("typeof(eval): "+typeof(eval)+"<br>") 
        document.write ("typeof(Date): "+typeof(Date)+"<br>") 
        document.write ("typeof(sss): "+typeof(sss)+"<br>") 
        document.write ("typeof(undefined): "+typeof(undefined)+"<br>") 
    </script>  

呵呵,每天进步一点点,一年以后不得了哦!




      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/925217,如需转载请自行联系原作者




相关文章
|
3月前
|
JavaScript 前端开发 Java
JavaScript基础语法(运算符)
JavaScript基础语法(运算符)
32 0
|
4月前
|
JavaScript 前端开发 开发者
从0开始学习JavaScript--JavaScript 表达式与运算符
JavaScript中的表达式和运算符是构建逻辑、进行计算的基础。本文将深入研究JavaScript中各类表达式,包括算术表达式、关系表达式、逻辑表达式,以及运算符的使用方法,并通过丰富的示例代码来帮助读者更全面地了解和运用这些概念。
|
4月前
|
JavaScript 前端开发
JavaScript变量、数据类型、运算符及类型转换
JavaScript变量、数据类型、运算符及类型转换
40 0
|
15天前
|
JavaScript 前端开发
JS中的typeof
`typeof`操作符在JavaScript中用于检测变量的数据类型。然而,它并非总是完全准确,如:数组和null被错误地标记为&#39;object&#39;,NAN是&#39;number&#39;,Symbol是&#39;function&#39;,而Array也是&#39;function&#39;。注意`undefined`返回&#39;undefined&#39;。
|
1月前
|
JavaScript
js开发:请解释什么是ES6的扩展运算符(spread operator),并给出一个示例。
ES6的扩展运算符(...)用于可迭代对象展开,如数组和对象。在数组中,它能将一个数组的元素合并到另一个数组。例如:`[1, 2, 3, 4, 5]`。在对象中,它用于复制并合并属性,如`{a: 1, b: 2, c: 3}`。
12 3
|
1月前
|
JavaScript 前端开发 程序员
编程笔记 html5&css&js 074 Javascript 运算符
编程笔记 html5&css&js 074 Javascript 运算符
|
2月前
|
JavaScript 前端开发
JavaScript typeof、nul
JavaScript typeof、null和undefined是JavaScript编程中常用的三种类型。 typeof是JavaScript中的一个操作符,用于判断变量的类型。它的返回值是一个字符串,表示变量的数据类型。typeof的用法很简单,例如:typeof x,它会返回一个表示x的数据类型的字符串。typeof的返回值有六种,分别是:"undefined"、"boolean"、"string"、"number"、"object"和"function"。
11 1
|
3月前
|
JavaScript 前端开发 测试技术
探究 JavaScript 类型检查的利器:typeof 和 instanceof
探究 JavaScript 类型检查的利器:typeof 和 instanceof
|
3月前
|
JavaScript 前端开发
什么是 JavaScript 中的 Spread 运算符
什么是 JavaScript 中的 Spread 运算符
28 0
|
3月前
|
JavaScript 前端开发
JS-基础:JavaScript运算符 个人总结
JS-基础:JavaScript运算符 个人总结
20 0