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 面向对象编程基础:封装
Aug 21 Javascript
精选的10款用于构建良好易用性网站的jQuery插件
Jan 23 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
Aug 15 Javascript
jQuery获取字符串中出现最多的数
Feb 22 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
May 09 Javascript
js实现图片上传预览原理分析
Jul 13 Javascript
js微信应用场景之微信音乐相册案例分享
Aug 11 Javascript
详解Node中导入模块require和import的区别
Aug 11 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
Mar 19 Javascript
微信小程序适配iphoneX的实现方法
Sep 18 Javascript
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
Sep 26 Javascript
用node.js写一个jenkins发版脚本
May 21 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 常用类汇总 推荐收藏
2010/05/13 PHP
关于PHP session 存储方式的详细介绍
2013/06/25 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
JS与C#编码解码
2013/12/03 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
JavaScript实现数组全排列、去重及求最大值算法示例
2018/07/30 Javascript
vue实现计步器功能
2019/11/01 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
使用PreloadJS加载图片资源的基础方法详解
2020/02/03 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
python实现的各种排序算法代码
2013/03/04 Python
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
Python字符串处理之count()方法的使用
2015/05/18 Python
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
python 通过exifread读取照片信息
2020/12/24 Python
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
2015年电话销售工作总结范文
2015/04/20 职场文书
电影开国大典观后感
2015/06/04 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
python中subplot大小的设置步骤
2021/06/28 Python