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 相关文章推荐
javascript中打印当前的时间实现思路及代码
Dec 18 Javascript
js单独获取一个checkbox看其是否被选中
Sep 22 Javascript
JavaScript生成福利彩票双色球号码
May 15 Javascript
js操作cookie保存浏览记录的方法
Dec 25 Javascript
jquery实现具有嵌套功能的选项卡
Feb 12 Javascript
基于javascript实现文字无缝滚动效果
Mar 22 Javascript
AngularJS入门教程之表格实例详解
Jul 27 Javascript
vue2单元测试环境搭建
May 24 Javascript
vue2过滤器模糊查询方法
Sep 16 Javascript
javascript实现日历效果
Jun 17 Javascript
JS如何在数组指定位置插入元素
Mar 10 Javascript
vue使用better-scroll实现滑动以及左右联动
Jun 30 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 curl选项列表(超详细)
2013/07/01 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
php实现微信发红包功能
2018/07/13 PHP
Javascript全局变量var与不var的区别深入解析
2013/12/09 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
Vue computed计算属性的使用方法
2017/07/14 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
python 获取本机ip地址的两个方法
2013/02/25 Python
python函数参数*args**kwargs用法实例
2013/12/04 Python
python中__call__内置函数用法实例
2015/06/04 Python
Python随手笔记之标准类型内建函数
2015/12/02 Python
Python自定义简单图轴简单实例
2018/01/08 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
django 取消csrf限制的实例
2020/03/13 Python
python3处理word文档实例分析
2020/12/01 Python
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
幼儿教师考核制度
2014/01/25 职场文书
《小鹰学飞》教学反思
2014/04/23 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
党员个人总结自评
2015/02/14 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL
Flask response响应的具体使用
2021/07/15 Python
JavaScript 原型与原型链详情
2021/11/02 Javascript
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers