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 Ajax 全解析
Feb 08 Javascript
JQuery 绑定事件时传递参数的实现方法
Oct 13 Javascript
Js 中debug方式
Feb 07 Javascript
在JavaScript中监听IME键盘输入事件
May 29 Javascript
javascript自启动函数的问题探讨
Oct 05 Javascript
JQuery弹出层示例可自定义
May 19 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
Aug 10 Javascript
对Js OOP编程 创建对象的一些全面理解
Jul 26 Javascript
js实现简单的网页换肤效果
Jan 18 Javascript
详解Angularjs 自定义指令中的数据绑定
Jul 19 Javascript
详解ES6中class的实现原理
Oct 03 Javascript
angular共享依赖的解决方案分享
Oct 15 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
JAVA/JSP学习系列之四
2006/10/09 PHP
php $_SERVER当前完整url的写法
2009/11/12 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
php购物车实现方法
2015/01/03 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
python实现微信远程控制电脑
2018/02/22 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
canvas简单连线动画的实现代码
2020/02/04 HTML / CSS
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
GWebs公司笔试题
2012/05/04 面试题
信息专业大学生自我评价分享
2014/01/17 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
毕业生就业协议书
2014/04/11 职场文书
单位未婚证明范本
2014/11/25 职场文书
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技