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 相关文章推荐
javascript 实现简单的table排序及table操作练习
Dec 28 Javascript
javascript 数组操作详解
Jan 29 Javascript
jQuery统计指定子元素数量的方法
Mar 17 Javascript
javascript中setInterval的用法
Jul 19 Javascript
js正则表达式replace替换变量方法
May 21 Javascript
jQuery 3.0中存在问题及解决办法
Jul 15 Javascript
JavaScript 巧学巧用
May 23 Javascript
在Vue项目中使用snapshot测试的具体使用
Apr 16 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
Nov 26 Javascript
Vue常用的全选/反选的示例代码
Feb 19 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
Aug 08 Javascript
一篇文章带你从零快速上手Rollup
Sep 07 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脚本的10个技巧(3)
2006/10/09 PHP
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
popdiv
2006/07/14 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
javascript面向对象编程代码
2011/12/19 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
通过shell+python实现企业微信预警
2019/03/07 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
Python 没有main函数的原因
2020/07/10 Python
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
盛大笔试题
2016/11/05 面试题
办公室文员工作职责
2014/01/31 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
事业单位年度考核评语
2014/12/31 职场文书
单位接收函格式
2015/01/30 职场文书
行政人事专员岗位职责
2015/04/07 职场文书