jQuery原生框架中的jQuery.fn.extend和jQuery.extend

extend 方法在 jQuery 中是一个很重要的方法,jQuey 内部用它来扩展静态方法或实例方法,而且我们开发 jQuery 插件开发的时候也会用到它。但是在内部,是存在 jQuery.fn.extend 和 jQuery.extend 两个 extend 方法的,而区分这两个 extend 方法是理解 jQuery 的很关键的一部分。先看结论:

1)jQuery.extend(object) 为扩展 jQuery 类本身,为类添加新的静态方法;

2)jQuery.fn.extend(object) 给 jQuery 对象添加实例方法,也就是通过这个 extend 添加的新方法,实例化的 jQuery 对象都能使用,因为它是挂载在 jQuery.fn 上的方法(上文有提到,jQuery.fn = jQuery.prototype )。

它们的官方解释是:

1)jQuery.extend(): 把两个或者更多的对象合并到第一个当中,

2)jQuery.fn.extend():把对象挂载到 jQuery 的 prototype 属性,来扩展一个新的 jQuery 实例方法。

也就是说,使用 jQuery.extend() 拓展的静态方法,我们可以直接使用 $.xxx 进行调用(xxx是拓展的方法名),

而使用 jQuery.fn.extend() 拓展的实例方法,需要使用 $().xxx 调用。

时间: 2024-10-12 13:05:03

jQuery原生框架中的jQuery.fn.extend和jQuery.extend的相关文章

Jquery Easyui框架中常用的验证

对于validatebox空间,验证其输入字符长度的最大值是否超出数据库中设置的字段长度.方法如下: 1 /** 2 * 验证输入字符长度 3 */ 4 $.extend($.fn.validatebox.defaults.rules, { 5 maxLength: { 6 validator: function(value, param){ 7 if(value.length >= param[0]) { 8 // showMsg("输入信息长度不能超过"+ param[0]

jQuery原生框架-----------------核心框架

// 1.自调防止全局变量污染(function( window ) { var version = '1.0.0'; var document = window.document; var arr = []; var push = arr.push; var slice = arr.slice; var concat = arr.concat; var obj = {}; var toString = obj.toString; var hasOwn = obj.hasOwnProperty;

jQuery原生框架-----------------属性操作

// 添加一个处理兼容获取样式的静态方法jQuery.getStyle = function( dom, styleName ) { // dom不是dom,styleName不是字符串,直接打走 if( !jQuery.isDOM( dom ) || !jQuery.isString( styleName ) ) { return false; } // 兼容获取指定的样式 if( window.getComputedStyle ) { return window.getComputedSty

jQuery easyUI框架中经常出现的问题

相信开发者对于我们jquery来说都不会陌生吧,jquery为我们的开发提供了很多各式各样的库,满足各种开发的需求,其中我们知道的有轻量级的,但是也有一些基于富客服端的一些重量级库,顾名思义,当我们在使用这些库的时候就难以避免的会出现一些问题,下面我罗列了一些我们在使用easyUI进行企业级开发时常见的一些问题,以及解决办法,希望能够帮助到各位. 1.清空指定表单中的内容,参数为目标form的id *注:在使用Jquery EasyUI的弹出窗口录入新增内容时,每次打开必须清空上次输入的历史 *

jQuery原生框架-----------------事件

jQuery.extend({ // 绑定事件 addEvent: function( ele, type, fn ) { // ele不是DOM,type不是字符串,fn不是函数,打包打走 if( !jQuery.isDOM( ele ) || !jQuery.isString( type ) || !jQuery.isFunction( fn ) ) { return false; } // 兼容处理 if( ele.addEventListener ) { ele.addEventList

jQuery原生框架-----------------dom操作

// 扩展DOM操作方法jQuery.fn.extend({ // 设置或者获取元素的内容 html: function( html ) { /* * 实现思路: * 1.不传参,返回第一个元素的内容 * 2.传参 * 2.1.参数类型为null,遍历所有元素,依次清除它们的内容 * 2.2.参数类型为字符串,遍历所有元素,依次重置它们的内容 * 3.链式编程返回this * */ // 不传参,返回第一个元素的内容 if( arguments.length === 0 ) { return t

NodeJs、AngularJs、Jquery等框架小结(一)小谈jquery

这是一个系列,我准备花上几周时间来好好总结一下我对javascript的理解,这次我们先聊聊jquery.如果我说的有什么不对的地方,欢迎拍砖. 我们刚接触前端,首先接触的是div+css以及Jquery,jquery的使用之广(地球人都知道),据统计,目前全世界57.3%的网站使用它.也就是说,10个网站里面,有6个使用jQuery.如果只考察使用工具库的网站,这个比例就会上升到惊人的91.7%.正如它所一直向大家展示的那样,The Write Less, Do More,我们能用它简化我们的

jQuery ui 框架

jQuery ui框架很多,除了官方提供的jquery UI(如果你还不知道什么是jQuery UI,请看下载了jquery ui后如何使用),还有很多第三方提供的ui框架,因官方提供的jquery ui框架体积较大,所以很多人都不喜欢用,但不论是官方提供还是第三方提供,他们都是基于jquery核心类库实现的ui框架.    1.jQuery Smart UI 官网地址http://smartui.chinamzz.com JQuery Smart UI是基于JQuery的Ajax开发的一个jq

jquery.fn.extend与jquery.extend用法与区别

关于jquery.fn.extend与jquery.extend用法与区别. jQuery为开发插件提拱了两个方法,分别是:  代码如下 复制代码 jQuery.fn.extend(object);  和   jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法. fn 是什么东西呢.查看jQuery代码,就不难发现.  代码如下 复制