Javascript中typeof 用法小结


Posted in Javascript onMay 12, 2015

在js里用到数组,比如 多个名字相同(的)input, 若是动态生成(的), 提交时就需要判断其是否是数组. if(document.mylist.length != "undefined" ) {} 这个用法有误.
正确(的)是 if( typeof(document.mylist.length) != "undefined" ) {}
或 if( !isNaN(document.mylist.length) ) {}

typeof(的)运算数未定义,返回(的)就是 "undefined".
运算数为数字 typeof(x) = "number"
字符串 typeof(x) = "string"
布尔值 typeof(x) = "boolean"
对象,数组和null typeof(x) = "object"
函数 typeof(x) = "function"

typeof 运算符返回一个用来表示表达式(的)数据类型(的)字符串。
可能(的)字符串有:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。

如:
alert(typeof (123));//typeof(123)返回"number"
alert(typeof ("123"));//typeof("123")返回"string"

typeof 运算符返回一个用来表示表达式(的)数据类型(的)字符串。

typeof[()expression[]] ;

expression 参数是需要查找类型信息(的)任意表达式。

说明

typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."
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。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
Dec 02 Javascript
<script defer> defer 是什么意思
May 10 Javascript
flash 得到自身url参数的代码
Nov 15 Javascript
jQuery 自定义函数写法分享
Mar 30 Javascript
Jquery遍历select option和添加移除option的实现方法
Aug 26 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
Sep 12 Javascript
JavaScript每天必学之事件
Sep 18 Javascript
jQuery布局组件EasyUI Layout使用方法详解
Feb 28 Javascript
详解React 16 中的异常处理
Jul 28 Javascript
基于Vue实例对象的数据选项
Aug 09 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
Sep 14 Javascript
Node.js如何对SQLite的async/await封装详解
Feb 14 Javascript
js/jquery判断浏览器类型的方法小结
May 12 #Javascript
js实现div层缓慢收缩与展开的方法
May 11 #Javascript
JS实现定时自动关闭DIV层提示框的方法
May 11 #Javascript
最精简的JavaScript实现鼠标拖动效果的方法
May 11 #Javascript
JavaScript实现表格点击排序的方法
May 11 #Javascript
JavaScript点击按钮后弹出透明浮动层的方法
May 11 #Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
May 11 #Javascript
You might like
深入PHP异步执行的详解
2013/06/03 PHP
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
Python多进程编程技术实例分析
2014/09/16 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
Python PIL库图片灰化处理
2020/04/07 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
本科生学习总结的自我评价
2013/10/02 职场文书
会计主管岗位职责范文
2013/11/08 职场文书
索桥的故事教学反思
2014/02/06 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
村委会贫困证明范文
2014/09/21 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
用电申请报告范文
2015/05/18 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书
Moment的feature导致线上bug解决分析
2022/09/23 Javascript