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 相关文章推荐
两个DIV等高的JS的实现代码
Dec 23 Javascript
地址栏上的一段语句,改变页面的风格。(教程)
Apr 02 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
Apr 17 Javascript
js实现拖拽效果
Feb 12 Javascript
如何使用jquery easyui创建标签组件
Nov 18 Javascript
javascript简单实现等比例缩小图片的方法
Jul 27 Javascript
js 发布订阅模式的实例讲解
Sep 10 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
Sep 25 Javascript
React通过父组件传递类名给子组件的实现方法
Nov 13 Javascript
Swiper自定义分页器使用详解
Dec 28 Javascript
微信小程序radio组件使用详解
Jan 31 Javascript
webstorm和.vue中es6语法报错的解决方法
May 08 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
PHP默认安装产生系统漏洞
2006/10/09 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
php 猴子摘桃的算法
2017/06/20 PHP
php微信开发之关注事件
2018/06/14 PHP
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
Python函数返回值实例分析
2015/06/08 Python
使用Python读取大文件的方法
2018/02/11 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
python实现单机五子棋
2020/08/28 Python
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
一份Java笔试题
2012/02/21 面试题
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
士力架广告词
2014/03/20 职场文书
领导干部作风建设总结
2014/10/23 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
2019年励志签名:致拼搏路上的自己
2019/10/11 职场文书