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 相关文章推荐
jquery 简单应用示例总结
Aug 09 Javascript
浅谈javascript获取元素transform参数
Jul 24 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
Oct 27 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
Jan 27 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
探索Vue.js component内容实现
Nov 03 Javascript
基于JavaScript实现的折半查找算法示例
Apr 14 Javascript
angularJs中datatable实现代码
Jun 03 Javascript
手把手教你使用vue-cli脚手架(图文解析)
Nov 08 Javascript
javascript显示动态时间的方法汇总
Jul 06 Javascript
微信小程序使用swiper组件实现类3D轮播图
Aug 29 Javascript
vue-resourc发起异步请求的方法
Feb 11 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
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
javascript下过滤数组重复值的代码
2007/09/10 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
javascript如何创建对象
2016/08/29 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
深入理解Node module模块
2018/03/26 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
详解K-means算法在Python中的实现
2017/12/05 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python使用贪婪算法解决问题
2019/10/22 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
python爬虫请求头的使用
2020/12/01 Python
基于ccs3的timeline时间线实现方法
2020/04/30 HTML / CSS
HTML5等待加载动画效果
2017/07/27 HTML / CSS
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
database面试题
2013/03/28 面试题
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
java executor包参数处理功能 
2022/02/15 Java/Android