- 浏览: 204564 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (156)
- 职场人生 (6)
- 开发时遇见的问题 (14)
- 技术学习 (13)
- Hibernate开发与实战学习 (10)
- Junit (9)
- 设计模式 (4)
- Lucene (1)
- Log4J (1)
- JBPM (0)
- OA (0)
- Spring (0)
- Struts2 (1)
- Android (2)
- Python (1)
- 生活点点滴滴 (8)
- Java (11)
- JavaScript&Jquery (22)
- Hadoop (1)
- JSP&Servlet (8)
- dom4j (2)
- mysql (2)
- Oracle (7)
- PHP (0)
- Jmeter (1)
- 测试方面的东东 (1)
- 励志文章 (3)
- CSS (4)
- XHTML&HTML (1)
- Linux相关 (7)
- C&C++ (2)
- Unix C (3)
- 开发软件配置及软件应用 (2)
- English Study And Movie Scripts (3)
- My English World (1)
最新评论
-
yingzhixing:
不错不错~~
利用org.springframework.web.util中的HtmlUtils工具类 -
yonguo:
博主能把完整的pom配置贴一下共享吗?
在maven中使用YUI-Compressor -
yan578351314:
我的为什么会出现语法错误呢?一大推错误信息...
在maven中使用YUI-Compressor -
jstenjoy:
什么是JBPM -
疯狂的草儿:
cat_rat 写道我是2010年9月份进入公司的--2010 ...
辞职了,离开了我工作的第一家公司
JQuery的extend扩展方法:
Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。
一、Jquery的扩展方法原型是:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> extend(dest,src1,src2,src3...);
它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。如
果想要得到合并的结果却又不想修改dest的结构,可以如下使用:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> var newSrc = $.extend({},src1,src2,src3...) // 也就是将"{}"作为dest参数。
这样就可以将src1,src2,src3...进行合并,然后将合并结果返回给newSrc了。如下例:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->var result = $.extend({},{name: "Tom",age:21},{name:"Jerry",sex:"Boy"})
那么合并后的结果
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> result={name:"Jerry",age:21,sex:"Boy"}
也就是说后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。
二、省略dest参数
上述的extend方法原型中的dest参数是可以省略
的,如果省略了,则该方法就只能有一个src参数,而且是将该src合并到调用extend方法的对象中去,如:
1、$.extend(src)
该方法就是将src合并到jquery的全局对象中去,如:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $.extend({ hello:function(){alert('hello');} });
就是将hello方法合并到jquery的全局对象中。
2、$.fn.extend(src)
该方法将src合并到jquery的实例对象中去,如:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $.fn.extend({ hello:function(){alert('hello');} });
就是将hello方法合并到jquery的实例对象中。
下面例举几个常用的扩展实例:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->$.extend({net:{}});
这是在jquery全局对象中扩展一个net命名空间。
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $.extend($.net,{ hello:function(){alert('hello');}})
这是将hello方法扩展到之前扩展的Jquery的net命名空间中去。
三、Jquery的extend方法还有一个重载原型:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->extend(boolean,dest,src1,src2,src3...)
第一个参数boolean代表是否进行深度拷贝,其余参数和前面介绍的一致,什么叫深层拷贝,我们看一个例子:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->var result = $.extend( true, {}, { name: "John", location: {city:"Boston",county:"USA"} }, { last: "Resig", location: {state: "MA",county:"China"} } );
我们可以看出src1中嵌套子对象location:{city:"Boston"},src2中也嵌套子对象location:
{state:"MA"},第一个深度拷贝参数为true,那么合并后的结果就是:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->result={name:"John",last:"Resig", location:{city:"Boston",state:"MA",county:"China"}}
也就是说它会将src中的嵌套子对象也进行合并,而如果第一个参数boolean为false,我们看看合并的结果是什么,如下:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->var result =$.extend( false, {}, { name: " John", location:{city: "Boston",county:"USA"} }, { last: "Resig", location: {state: "MA",county:"China"} } );
那么合并后的结果就是:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> result ={name:"John",last:"Resig",location:{state:"MA",county:"China"}}
以上就是$.extend()在项目中经常会使用到的一些细节。
发表评论
-
Firebug 调试器开发中的12个技巧
2011-05-26 21:14 1573相信很多从事Web开发工作的开发者都听说和使用过Firebu ... -
锋利的jQuery 第三章 jQuery中的DOM操作
2011-02-05 02:04 860第三章 jQuery中的DOM操作 -
锋利的jQuery第二章 选择器
2011-01-31 23:46 987锋利的jQuery第二章 选择器 <!DOC ... -
锋利的Jquery第一章 认识jQuery
2011-01-29 13:34 1105锋利的Jquery第一章jQuery 1.3.1 配置 ... -
fckeditor
2010-12-17 16:24 760下载地址:http://ckeditor.com/downl ... -
JSValidation用户手册
2010-12-17 13:16 11231 . JSValidation是什么? ... -
测试Gadget时,IE7下出现的问题
2010-11-13 08:24 707一个比较弱智的错误: function initSPI ... -
JS中substr和substring的用法和区别
2010-09-10 17:24 764substr 和 substring都是JS ... -
判断浏览器的名称和版本的一段javascript
2010-07-07 14:40 949navigator是一个独立的 ... -
FireBug Console API
2010-07-06 14:38 826console.log(object[, object, .. ... -
APtana
2010-07-01 13:29 760http://www.aptana.com/downloads ... -
JS的正则表达式(五)
2010-02-26 15:57 1092exec方法详解 exec方法的返回值 exec方法返回的 ... -
JS的正则表达式(四)
2010-02-26 14:36 1445括号(2) 前面我们曾经讨论过一次括号的问题,见下面这个例子 ... -
JS的正则表达式(三)
2010-02-26 13:28 1161边界与非边界\b表示的边界的意思,也就是说,只有字符串的开头和 ... -
JS的正则表达式(二)
2010-02-26 10:17 1204二选一,正则表达式中的或,“|“ b|c表示,匹配b或者c。 ... -
JS的正则表达式(一)
2010-02-25 16:05 1365创建一个正则表达式有两种方法 //第一种 var reg ... -
JavaScript函数对象
2010-02-24 10:10 809在JavaScript中,函数也是对象,我们使用下面的语句 ... -
JavaScript常用内置对象(三)
2010-02-24 10:03 1049<script language=" ... -
JavaScript常用内置对象(二)
2010-02-24 09:42 925<script language=" ... -
JavaScript常用对象(一)
2010-02-24 09:13 762<Script language="ja ...
相关推荐
### jQuery.extend函数详解 #### 一、概述 `jQuery.extend`是jQuery库中一个非常实用且功能强大的函数,主要用于合并两个或多个对象的属性至一个新的对象中。这使得开发人员能够在编写插件或其他代码时方便地扩展...
jquery.extend函数详解 JQuery的extend扩展方法: Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。 一、Jquery的扩展方法原型是: extend(dest,src1...
其中jQuery.extend()方法能够创建全局函数或者选择器,而jQuery.fn.extend()方法能够创建jQuery对象方法. 例如: 代码如下: jQuery.extend({ showName : function(name){ alert(name) } }); jQuery.showName...
jQuery_extend 函数详解
1. **`jQuery.extend`详解**: - **功能介绍**:`jQuery.extend`允许开发人员向jQuery对象或其原型添加新方法或属性。 - **实现原理**:该方法实际上是一个深拷贝的过程,能够将一个或多个对象的属性复制到目标...
jQuery库中的extend函数是一个非常强大的工具,它允许我们合并对象的属性和方法到指定的对象中。在jQuery的设计中,extend函数有两个重要的用途,分别是扩展jQuery对象本身的功能以及扩展jQuery实例的功能。 首先,...
《jQuery.query.js插件详解与应用实践》 jQuery.query.js是jQuery库的一个扩展,它为jQuery提供了更强大的查询和操作功能。这个插件基于官方版本的jquery.query-2.1.7.js,专为增强jQuery的功能和灵活性而设计。...
extend()是jQuery中一个重要的函数,作用是实现对对象的扩展, 它经常用于jQuery插件的开发,jQuery内部也使用它来扩展属性方法,如上篇文章中讲到的noConflict方法,就是用extend方法来扩展的。 在jQuery的API手册...
jQuery.extend 函数详解JQuery的extend扩展方法:Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。一、Jquery的扩展方法原型是:
jQuery中的`extend()`和`fn.extend()`方法是用于合并对象属性和方法的工具,它们在扩展和定制jQuery功能时起着关键作用。 首先,`jQuery.extend()`方法允许开发者将一个或多个对象的属性和方法合并到一个现有对象上...
《jQuery.js执行过程详解》 JavaScript是一门基于对象的脚本语言,其对象技术的实现方式独具特色。在JavaScript中,通常使用构造函数配合prototype对象来定义类和方法。jQuery库,作为JavaScript的一个强大工具集,...
在JavaScript的世界里,jQuery库提供了许多实用的工具函数,其中`jQuery.extend`就是一个非常重要的功能,用于对象的合并与扩展。本文将深入解析`jQuery.extend`的工作原理和应用场景。 首先,`jQuery.extend`的...