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 相关文章推荐
拉动滚动条加载数据的jquery代码
May 03 Javascript
完美解决AJAX跨域问题
Nov 01 Javascript
jQuery搜索子元素的方法
Feb 10 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
Apr 07 Javascript
Javascript使用post方法提交数据实例
Aug 03 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
Jan 04 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 jQuery
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
vue-quill-editor+plupload富文本编辑器实例详解
Oct 19 Javascript
vue中多路由表头吸顶实现的几种布局方式
Apr 12 Javascript
微信小程序获取地理位置及经纬度授权代码实例
Sep 18 Javascript
Vue组件通信$attrs、$listeners实现原理解析
Sep 03 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,不用COM,生成excel文件
2006/10/09 PHP
php编写批量生成不重复的卡号密码代码
2015/05/14 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
Vue.use源码分析
2017/04/22 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
python中模块查找的原理与方法详解
2017/08/11 Python
儿童编程python入门
2018/05/08 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
django如何实现视图重定向
2019/07/24 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
优秀教师先进事迹
2014/01/22 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
党校学习个人总结
2015/02/15 职场文书
预备党员入党感想
2015/08/10 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python