JavaScript数据类型检测代码分享


Posted in Javascript onJanuary 26, 2015
/**

  * param:o表示检测的值

  * return:返回字符串"undefined"、"number"、"boolean"、"string"、"function"、"regexp"、"array"、"date"、"error"、"object"或"null"

  */

function typeOf(o){

    var _toString = Object.prototype.toString;  //获取对象的toString()方法引用

    //列举基本数据类型和内置对象类型,你还可以进一步补充该数组的检测数据类型范围

    var _type ={

        "undefined" : "undefined",

        "number" : "number",

        "boolean" : "boolean",

        "string" : "string",

        "[object Function]" : "function",

        "[object RegExp]" : "regexp",

        "[object Array]" : "array",

        "[object Date]" : "date",

        "[object Error]" : "error"

    }

    return _type[typeof o] || _type[_toString.call(o)] || (o ? "object" : "null"); //通过把值转换为字符串,然后匹配返回字符串中是否包含特定字符进行检测

}

//应用示例:

var a = Math.abs;

alert(typeOf(a));  //返回字符串"function"

代码很简单,说明都在注释里,这里就不多废话了,有相同需求的小伙伴自己来参考下吧

Javascript 相关文章推荐
showModelessDialog()使用详解
Sep 07 Javascript
jquery 输入框数字限制插件
Nov 10 Javascript
javascript break指定标签打破多层循环示例
Jan 20 Javascript
js实现右下角提示框的方法
Feb 03 Javascript
jQuery采用连缀写法实现的折叠菜单效果
Sep 18 Javascript
JS中作用域和变量提升(hoisting)的深入理解
Oct 31 Javascript
JS常见算法详解
Feb 28 Javascript
JS实现简易的图片拖拽排序实例代码
Jun 09 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
Vue.js组件通信的几种姿势
Oct 23 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
Apr 17 Javascript
微信小程序登陆注册功能的实现代码
Dec 10 Javascript
浅谈Javascript中的Function与Object
Jan 26 #Javascript
javascript实现动态加载CSS
Jan 26 #Javascript
使用jQuery实现返回顶部
Jan 26 #Javascript
SyntaxHighlighter 3.0.83使用笔记
Jan 26 #Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
Jan 26 #Javascript
JavaScript事件委托用法分析
Jan 24 #Javascript
jQuery统计上传文件大小的方法
Jan 24 #Javascript
You might like
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
PHP整合PayPal支付
2015/06/11 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
php提高网站效率的技巧
2015/09/29 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
2017/05/12 PHP
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
使用angular写一个hello world
2015/01/23 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
python uuid模块使用实例
2015/04/08 Python
python求解水仙花数的方法
2015/05/11 Python
对pandas中Series的map函数详解
2018/07/25 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
Python3读写ini配置文件的示例
2020/11/06 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
英国团购网站:Groupon英国
2017/11/28 全球购物
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
文秘大学生求职信
2014/02/25 职场文书
产品设计开发计划书
2014/05/07 职场文书
产品发布会策划方案
2014/05/12 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
周一问候语大全
2015/11/10 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android