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 相关文章推荐
javascript 面向对象编程 function也是类
Sep 17 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
Apr 26 Javascript
jQuery插件分享之分页插件jqPagination
Jun 06 Javascript
jQuery 回调函数(callback)的使用和基础
Feb 26 Javascript
图解js图片轮播效果
Dec 20 Javascript
Javascript设计模式之观察者模式(推荐)
Mar 29 Javascript
javascript设计模式Constructor(构造器)模式
Aug 19 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
Sep 14 Javascript
原生JS检测CSS3动画是否结束的方法详解
Jan 27 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
Nov 12 Javascript
js实现碰撞检测
Jan 29 Javascript
ECharts transform数据转换和dataZoom在项目中使用
Dec 24 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
同时提取多条新闻中的文本一例
2006/10/09 PHP
php网站地图生成类示例
2014/01/13 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
javascript关于继承解析
2016/05/10 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
python保存字符串到文件的方法
2015/07/01 Python
python的else子句使用指南
2016/02/27 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
python破解zip加密文件的方法
2018/05/31 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
Django models.py应用实现过程详解
2019/07/29 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
介绍一下JNDI的基本概念
2013/07/26 面试题
农贸市场管理制度
2014/01/31 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
实习介绍信范文
2015/05/05 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python