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 相关文章推荐
通过ifame指向的页面高度调整iframe的高度
Oct 05 Javascript
地址栏上的一段语句,改变页面的风格。(教程)
Apr 02 Javascript
jquery isEmptyObject判断是否为空对象的函数
Feb 14 Javascript
JS实现简易图片轮播效果的方法
Mar 25 Javascript
JavaScript中字符串分割函数split用法实例
Apr 07 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
Jun 02 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
Dec 16 Javascript
JS闭包与延迟求值用法示例
Dec 22 Javascript
ReactNative页面跳转Navigator实现的示例代码
Aug 02 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
Mar 01 Javascript
vue中keep-alive、activated的探讨和使用详解
Jul 26 Javascript
react项目从新建到部署的实现示例
Feb 19 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/02 PHP
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
script不刷新页面的联动前后代码
2013/09/18 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
Vue学习笔记进阶篇之过渡状态详解
2017/07/14 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
在Python的Bottle框架中使用微信API的示例
2015/04/23 Python
简单介绍Python中的struct模块
2015/04/28 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
10个Python小技巧你值得拥有
2018/09/29 Python
opencv python图像梯度实例详解
2020/02/04 Python
Python 实现向word(docx)中输出
2020/02/13 Python
Python字符串及文本模式方法详解
2020/09/10 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
html5中canvas学习笔记2-判断浏览器是否支持canvas
2013/01/06 HTML / CSS
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
火锅店营销方案
2014/02/26 职场文书
财产保全担保书范文
2014/04/01 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
购房协议书范本
2014/10/02 职场文书
社区务虚会发言材料
2014/10/20 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书
React Fragment介绍与使用详解
2021/11/11 Javascript
Spring中的@Transactional的工作原理
2022/06/05 Java/Android
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android