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线程
Jul 10 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
Jan 04 Javascript
jQuery zTree加载树形菜单功能
Feb 25 Javascript
Js调用Java方法并互相传参的简单实例
Aug 11 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
微信小程序 天气预报开发实例代码源码
Jan 20 Javascript
react-native之ART绘图方法详解
Aug 08 Javascript
浅谈webpack+react多页面开发终极架构
Nov 11 Javascript
百度小程序自定义通用toast组件
Jul 17 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
JS实现百度搜索框
Feb 25 Javascript
用JS实现飞机大战小游戏
Jun 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中截取字符串支持utf-8
2007/01/18 PHP
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
由浅入深讲解python中的yield与generator
2017/04/05 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python中static相关知识小结
2018/01/02 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
python yield和Generator函数用法详解
2020/02/10 Python
python圣诞树编写实例详解
2020/02/13 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
钳工实习自我鉴定
2013/09/19 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
技术负责人岗位职责
2015/02/10 职场文书
2015年端午节活动方案
2015/05/05 职场文书
步步惊心观后感
2015/06/12 职场文书
python获取字符串中的email
2022/03/31 Python