Discuz教程网

jQuery1.6 类型判断实现代码

[复制链接]
authicon dly 发表于 2011-9-6 20:27:35 | 显示全部楼层 |阅读模式
首先定义了
全局变量class2type = {};
rdigit = /\d/,//正则判断是否是数字
toString = Object.prototype.toString;
通过jQuery.each,定义class2type的属性和值:
  1.   jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
  2. class2type[ "[object " + name + "]" ] = name.toLowerCase();
  3. });
  4.   type: function( obj ) {
  5. return obj == null ?String( obj ) :class2type[ toString.call(obj) ] || "object";//js 里一切都是对象,所以可以用toString.call(obj)返回对应对象类型
  6.       //如果直接使用这个方法来判断类型的话,IE下document.getElementById认为是object,其他浏览器则认为是function
  7.       //如果传入的值是NaN的话,会返回"number"
  8.   }
  9.   isFunction: function( obj ) {return jQuery.type(obj) === "function";}//在IE下,如果传入document.getElementById,返回的是false,IE为它是object
  10.   isArray: Array.isArray || function( obj ) {return jQuery.type(obj) === "array";}//如果原生Array拥有isArray方法则使用Array.isArray,否则自定义这个方法
  11.   isWindow: function( obj ) {return obj && typeof obj === "object" && "setInterval" in obj;}//判断是否为window对象
  12.   isNaN: function( obj ) {return obj == null || !rdigit.test( obj ) || isNaN( obj );}//
  13.   isEmptyObject: function( obj ) {
  14. for ( var name in obj ) {//判断的依据是看对象是否有属性或者方法
  15. return false;
  16. }
  17. return true;
  18. }
复制代码



上一篇:基于jquery的loading 加载提示效果实现代
下一篇:简短几句jquery代码的实现一个图片向上滚动切换
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 09:22

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表