动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

jQuery的工具方法总结

05-07 16:33 708浏览
举报 T字号
  • 大字
  • 中字
  • 小字

jQuery框架中,和其他类型的框架一样都有着自己的独特的工具方法,调用这些方法能够实现一些特殊的功能。下面我们来总结几个常见的jQuery工具方法:

1.判断是否是函数

用于检测是否是一个函数,返回值为布尔值

//这里的nodeType是为了解决兼容问题
//在某些浏览器中,typeof对HTML <object>元素返回“function”
//(即“文件类型”。createElement("object") === "function" ')。
//我们不想将*任何* DOM节点分类为函数。
function isFunction(obj){//判断是否是函数
     return typeof obj === 'function' && typeof obj.nodeType !== "number";
}

2.判断是否是window

用于判断是否是一个window,返回值为布尔值

//这里巧用了window上面有个window属性
function isWindow(obj){//判断是否是window
     return obj!=null && obj.window === window;
}

3.判断是否是纯粹的对象

用于判断是否是纯粹【{},new Object,Object.create(null)】的对象,返回值为布尔值

var getProto = Object.getPrototypeOf;//获取原型
var hasOwn = class2type.hasOwnProperty;//相当于object.prototype.hasOwnProperty
function isPlainObject(obj){//判断是否是纯粹的对象({},new Object,Object.create(null))
      var proto = getProto(obj),
          Ctol;

      if(!obj || toType(obj)!=="object"){//检测是否是object类型,不是则直接返回false
        return false
      }
	
      //判断proto上面是否有constructor这个属性,有则直接获取构造器
      Ctol = hasOwn.call(ptoto,"constructor") && proto.constructor;
      return typeof Ctol === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
}

4.判断是否是一个空对象

用于判断是否是一个空对象,返回值为布尔值

原jq代码 :

//缺陷:无法检测Symbol,以及原型上添加的属性也会被forin循环出来
function isEmptyObject: function( obj ) {
		var name;
		for ( name in obj ) {//循环如果有属性则直接返回false
			return false;
		}
		return true;
}

5.检测是否是类数组

用于检测是否是类数组或者数组,返回值为布尔值

function isArrayLike( obj ) {
	var length = !!obj && "length" in obj && obj.length,//obj存在并且有length属性,则直接回去obj的length
		type = toType( obj );//前面的检测类型

	if ( isFunction( obj ) || isWindow( obj ) ) {//因为函数和对象中也有length属性,所以要排除他们
		return false;
	}

	return type === "array" || length === 0 ||
		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
}

上述的5个jQuery工具方法是在动力节点在线的视频课程中总结得出来的,希望能够在我们使用jQuery进行开发的时候,我们能够用到这些方法,帮助我们解决一些遇到的开发问题。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵988
程序员代码小兵988

67篇文章贡献228982字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

JavaWeb的3大组件

代码小兵49806-11 15:28

全面解析Cookie技术

代码小兵49806-11 15:51

浅谈JavaWeb架构演变

代码小兵49806-11 16:22

探讨Web开发中的Session存储与管理

代码小兵51603-29 17:28

JavaScript基础知识

 暴风城-小飞04-06 20:49

发评论

举报

0/150

取消