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创建通用表单验证——更锋利的使用dom对象
Sep 13 Javascript
Prototype源码浅析 Enumerable部分之each方法
Jan 16 Javascript
拥抱模块化的JavaScript
Mar 07 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
Oct 22 Javascript
javascript中setTimeout使用指南
Jul 26 Javascript
详解JavaScript正则表达式之RegExp对象
Dec 13 Javascript
js获取隐藏元素宽高的实现方法
May 19 Javascript
jQuery插件之validation插件
Mar 29 jQuery
关于jquery layui弹出层的使用方法
Apr 21 jQuery
JavaScript捕捉事件和阻止冒泡事件实例分析
Aug 03 Javascript
jquery.pager.js分页实现详解
Jul 29 jQuery
Vue项目中使用mock.js的完整步骤
Jan 12 Vue.js
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
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
JavaScript计时器示例分析
2015/02/05 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
vue中post请求以a=a&b=b 的格式写遇到的问题
2018/04/27 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
python requests 测试代理ip是否生效
2018/07/25 Python
python实现简单http服务器功能
2018/09/17 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
道德模范先进事迹
2014/02/14 职场文书
模特大赛策划方案
2014/05/28 职场文书
孩子教育的心得体会
2014/09/01 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
销售员岗位职责
2015/02/10 职场文书
反邪教学习心得体会
2016/01/15 职场文书
初三语文教学反思
2016/03/03 职场文书
高一作文之暖冬
2019/11/09 职场文书
十个Python自动化常用操作,即拿即用
2021/05/10 Python
Python first-order-model实现让照片动起来
2022/06/25 Python
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers