jQuery1.6 类型判断实现代码


Posted in Javascript onSeptember 01, 2011

首先定义了
全局变量class2type = {};
rdigit = /\d/,//正则判断是否是数字
toString = Object.prototype.toString;
通过jQuery.each,定义class2type的属性和值:

jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { 
class2type[ "[object " + name + "]" ] = name.toLowerCase(); 
}); 

type: function( obj ) { 
return obj == null ?String( obj ) :class2type[ toString.call(obj) ] || "object";//js 里一切都是对象,所以可以用toString.call(obj)返回对应对象类型 



//如果直接使用这个方法来判断类型的话,IE下document.getElementById认为是object,其他浏览器则认为是function 



//如果传入的值是NaN的话,会返回"number" 

} 

isFunction: function( obj ) {return jQuery.type(obj) === "function";}//在IE下,如果传入document.getElementById,返回的是false,IE为它是object 

isArray: Array.isArray || function( obj ) {return jQuery.type(obj) === "array";}//如果原生Array拥有isArray方法则使用Array.isArray,否则自定义这个方法 

isWindow: function( obj ) {return obj && typeof obj === "object" && "setInterval" in obj;}//判断是否为window对象 

isNaN: function( obj ) {return obj == null || !rdigit.test( obj ) || isNaN( obj );}// 

isEmptyObject: function( obj ) { 
for ( var name in obj ) {//判断的依据是看对象是否有属性或者方法 
return false; 
} 
return true; 
}
Javascript 相关文章推荐
JQuery与Ajax常用代码实现对比
Oct 03 Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 Javascript
js中数组排序sort方法的原理分析
Nov 20 Javascript
JavaScript转换二进制编码为ASCII码的方法
Apr 16 Javascript
Underscore源码分析
Dec 30 Javascript
Javascript闭包与函数柯里化浅析
Jun 22 Javascript
JavaScript中函数声明与函数表达式的区别详解
Aug 18 Javascript
利用Angular.js限制textarea输入的字数
Oct 20 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
Aug 17 Javascript
vue.js 添加 fastclick的支持方法
Aug 28 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
Nov 30 Javascript
谈谈IntersectionObserver懒加载的具体使用
Oct 15 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
Sep 01 #Javascript
用javascript作一个通用向导说明
Aug 30 #Javascript
JS 无限级 Select效果实现代码(json格式)
Aug 30 #Javascript
javascript 原型继承介绍
Aug 30 #Javascript
dojo学习第二天 ajax异步请求之绑定列表
Aug 29 #Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
Aug 29 #Javascript
新浪微博字数统计 textarea字数统计实现代码
Aug 28 #Javascript
You might like
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
2015/11/30 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
浅谈js闭包理解
2019/04/01 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
python实现计算资源图标crc值的方法
2014/10/05 Python
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
使用实现pandas读取csv文件指定的前几行
2018/04/20 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
2020/05/11 Python
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
建筑学推荐信
2013/11/03 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
庆七一活动总结
2014/08/27 职场文书
实习生辞职信范文
2015/03/02 职场文书
php 原生分页
2021/04/01 PHP
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS