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在JavaScript应用中的兼容性探讨
Apr 01 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
Oct 24 Javascript
node.js中的fs.writeSync方法使用说明
Dec 15 Javascript
手机端页面rem宽度自适应脚本
May 20 Javascript
快速掌握Node.js模块封装及使用
Mar 21 Javascript
javascript运算符——逻辑运算符全面解析
Jun 27 Javascript
jQuery动态生成表格及右键菜单功能示例
Jan 13 Javascript
canvas绘制万花筒效果(代码分享)
Jan 20 Javascript
Vue2.x中的父子组件相互通信的实现方法
May 02 Javascript
深入理解AngularJs-scope的脏检查(一)
Jun 19 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
Jan 23 Javascript
vue使用video插件vue-video-player详解
Oct 23 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
ftp类(myftp.php)
2006/10/09 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
javascript 常用功能总结
2012/03/18 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
[46:37]LGD vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python3使用urllib模块制作网络爬虫
2016/04/08 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
建筑实习自我鉴定
2013/10/18 职场文书
文秘专业大学生求职信
2013/11/10 职场文书
银行财务部实习生的自我鉴定
2013/11/27 职场文书
回门宴父母答谢词
2014/01/26 职场文书
代理商会议邀请函
2014/01/27 职场文书
病媒生物防治方案
2014/05/13 职场文书
新闻发布会策划方案
2014/06/12 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python