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对象模型-执行模型
Apr 28 Javascript
js 判断脚本加载完毕的代码
Jul 13 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
将中国标准时间转换成标准格式的代码
Mar 20 Javascript
JavaScript将数字转换成大写中文的方法
Mar 23 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
Sep 11 Javascript
浅谈js中的三种继承方式及其优缺点
Aug 10 Javascript
angularjs实现搜索的关键字在正文中高亮出来
Jun 13 Javascript
phantomjs导出html到pdf的方法总结
Oct 19 Javascript
React 使用recharts实现散点地图的示例代码
Dec 07 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
Jun 05 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 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循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
javascript实现的listview效果
2007/04/28 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
vue filters的使用详解
2018/06/11 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
Python实现优先级队列结构的方法详解
2016/06/02 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
会计学专业学生的求职信范文
2014/01/27 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL
关于MySQL中explain工具的使用
2023/05/08 MySQL