javascript中检测变量的类型的代码


Posted in Javascript onDecember 28, 2010

常用检查变量类型的方法有两种,下面是解说:
检查变量类型方法一:typeof
格式:typeof 变量
用法:if( typeof 变量 == "类型标识") { ... }
下面是一些常用数据类型对应的typeof值:
{an:"object"}

:

object
["an","array"]

:

object
function() {}

:

function
"a string"

:

string
55

 :

number
true

:

boolean
new User()

:

object

从上表中,可以看出用typeof取得变量类型时,对于数组、对象、自定义类的对象同视为object,其它类型检查正常。所以它无法判断出对象是object,还是array,还是User。那么,此时我们可用第二种方法处理。

检查变量类型方法二:构造函数法(constructor)
格式:变量.constructor
用法:if(变量.constructor == "类型标识符") { ... }
{an:"object"}

:

Object
["an","array"]

:

Array
function() {}

:

Function
"a string"

:

String
55

 :

Number
true

:

Boolean
new User()

:

User

从上表中可以看出,我们能正确获取到每种数据的类型。所以,尽量使用变量的构造函数来获取变量类型更好。
不过,有时候这样也更方便:
if(typeof 变量 == "undefined") { ... }

Javascript 相关文章推荐
在JavaScript中遭遇级联表达式陷阱
Mar 08 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
Mar 04 Javascript
JS模块与命名空间的介绍
Mar 22 Javascript
node.js require() 源码解读
Dec 13 Javascript
js实现商品抛物线加入购物车特效
Nov 18 Javascript
Vue.js组件tree实现无限级树形菜单
Dec 02 Javascript
基于javascript实现最简单选项卡切换
Feb 01 Javascript
Angularjs处理页面闪烁的解决方法
Mar 09 Javascript
判断颜色是否合法的正则表达式(详解)
May 03 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
js使用原型对象(prototype)需要注意的地方
Aug 28 Javascript
layer弹出层自适应高度,垂直水平居中的实现
Sep 16 Javascript
javascript中的作用域scope介绍
Dec 28 #Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
Dec 28 #Javascript
按给定几率进行随机抽取的js代码
Dec 28 #Javascript
围观tangram js库
Dec 28 #Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
Dec 28 #Javascript
JS弹出对话框返回值代码(asp.net后台)
Dec 28 #Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
Dec 28 #Javascript
You might like
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
PHP实现批量修改文件名的方法示例
2019/09/18 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
[19:15]DK战队纪录片
2014/09/02 DOTA
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
python访问hdfs的操作
2020/06/06 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
Clarks鞋法国官方网站:英国其乐鞋品牌
2018/02/11 全球购物
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
工商局调档介绍信
2015/10/22 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
教你怎么用python实现字符串转日期
2021/05/24 Python
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技