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代码
Nov 08 Javascript
javascript中的循环语句for语句深入理解
Apr 04 Javascript
网页挂马方式整理及详细介绍
Nov 03 Javascript
Bootstrap模态框插件使用详解
May 11 Javascript
JS运动特效之同时运动实现方法分析
Jan 24 Javascript
Django+Vue跨域环境配置详解
Jul 06 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
Aug 22 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
Jan 18 Javascript
微信小程序基于picker实现级联菜单
Feb 15 Javascript
vue移动端城市三级联动组件使用详解
Jul 26 Javascript
JavaScript实现多个物体同时运动
Mar 12 Javascript
JavaScript语法约定和程序调试原理解析
Nov 03 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/11/19 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
Javascript实现的分页函数
2007/02/07 Javascript
javascript入门基础之私有变量
2010/02/23 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
python正则表达式中的括号匹配问题
2014/12/14 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
策划主管的工作职责
2013/11/24 职场文书
农民入党思想汇报
2014/01/03 职场文书
写给爸爸的道歉信
2014/01/15 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
前台岗位职责
2015/02/13 职场文书
大学毕业生个人总结
2015/02/28 职场文书