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动画效果-slideUp slideDown上下滑动示例代码
Aug 28 Javascript
表格奇偶行设置不同颜色的核心JS代码
Dec 24 Javascript
node.js实现逐行读取文件内容的代码
Jun 27 Javascript
jQuery中[attribute=value]选择器用法实例
Dec 31 Javascript
详细分析JavaScript函数定义
Jul 16 Javascript
React.js入门实例教程之创建hello world 的5种方式
May 11 Javascript
Javascript基础之数组的使用
May 13 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
Jan 17 Javascript
Javascript中的prototype与继承
Feb 06 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
Aug 09 Javascript
React手稿之 React-Saga的详解
Nov 12 Javascript
前端JavaScript大管家 package.json
Nov 02 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中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
es6中reduce的基本使用方法
2019/09/10 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
js实现简单扫雷
2020/11/27 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
Python实现简单状态框架的方法
2015/03/19 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
工程专业应届生求职信
2014/02/19 职场文书
经典婚礼主持词
2014/03/13 职场文书
药店促销活动总结
2014/07/10 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers