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 相关文章推荐
取得传值的函数
Oct 27 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
Mar 05 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
Oct 23 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
Dec 08 Javascript
JS正则子匹配实例分析
Dec 22 Javascript
jQuery 全选 全不选 事件绑定的实现代码
Jan 23 Javascript
js实现延迟加载的几种方法
Apr 24 Javascript
老生常谈js数据类型
Aug 03 Javascript
Easy UI动态树点击文字实现展开关闭功能
Sep 30 Javascript
浅谈vue中慎用style的scoped属性
Nov 28 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
Dec 21 Javascript
JavaScript ES6常用基础知识总结
Feb 09 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 正则学习实例
2008/07/30 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
JavaScript禁止复制与粘贴的实现代码
2016/05/16 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python实现图片变亮或者变暗的方法
2015/06/01 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
.NET方向面试题
2014/11/20 面试题
项目负责人任命书
2014/06/04 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
个人向公司借款协议书
2016/03/19 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
Oracle 死锁的检测查询及处理
2021/09/25 Oracle
详解python的异常捕获
2022/03/03 Python
Django + Taro 前后端分离项目实现企业微信登录功能
2022/04/07 Python
配置nginx负载均衡
2022/05/06 Servers