Heim  >  Artikel  >  Web-Frontend  >  jQuery1.6 类型判断实现代码_jquery

jQuery1.6 类型判断实现代码_jquery

WBOY
WBOYOriginal
2016-05-16 18:02:441053Durchsuche

首先定义了
全局变量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;
}
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn