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 showModalDialog模态对话框使用说明
Dec 31 Javascript
node.js中的buffer.toJSON方法使用说明
Dec 14 Javascript
理解javascript中DOM事件
Dec 25 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
Aug 05 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
Sep 17 Javascript
angular.js之路由的选择方法
Sep 24 Javascript
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
Angularjs实现多图片上传预览功能
Jul 18 Javascript
webpack之引入图片的实现及问题
Oct 08 Javascript
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
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
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
做网页的一些技巧
2007/02/01 Javascript
JavaScript面向对象(极简主义法minimalist approach)
2012/07/17 Javascript
js function定义函数的几种不错方法
2014/02/27 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
python 实现批量图片识别并翻译
2020/11/02 Python
css3选择器基本介绍
2014/12/15 HTML / CSS
100%羊绒:NakedCashmere
2020/08/26 全球购物
机电一体化自荐信
2013/12/10 职场文书
高三学习决心书
2014/03/11 职场文书
啦啦队口号大全
2014/06/16 职场文书
村委会贫困证明范本
2014/09/17 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
2016小学新学期寄语
2015/12/04 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis