JQuery中extend使用介绍

 这篇文章主要介绍了JQuery中extend怎么使用,需要的朋友可以参考下

Jquery中extend的扩展方法原型是: 
   
1、extend(dest,src1,src2,src3...); 
它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。如果想要得到合并的结果却又不想修改dest的结构,可以如下使用: 
 
2、var newSrc=$.extend({},src1,src2,src3...)//也就是将"{}"作为dest参数。 
这样就可以将src1,src2,src3...进行合并,然后将合并结果返回给newSrc了。 
如下例: 
 
 代码如下:
var result=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"}) 
 
那么合并后的结果 
result={name:"Jerry",age:21,sex:"Boy"} 
也就是说后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。 
 
3、extend(boolean,dest,src1,src2,src3...) 
第一个参数boolean代表是否进行深度拷贝,其余参数和前面介绍的一致 
例如 
代码如下:
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,那么合并后的结果就是: 
代码如下:
result={name:"John",last:"Resig",location:{city:"Boston",state:"MA",county:"China"}} 
 
也就是说它会将src中的嵌套子对象也进行合并,而如果第一个参数boolean为false,我们看看合并的结果是什么,如下: 
 代码如下:
var result=$.extend( false, {}, 
{ name: "John", location:{city: "Boston",county:"USA"} }, 
{ last: "Resig", location: {state: "MA",county:"China"} } ); 
 
那么合并后的结果就是: 
代码如下:
result={name:"John",last:"Resig",location:{state:"MA",county:"China"}} 
 

时间: 2024-09-17 03:53:51

JQuery中extend使用介绍的相关文章

JQuery中extend的用法实例分析

 这篇文章主要介绍了JQuery中extend的用法,实例分析了extend的功能.定义及相关使用技巧,需要的朋友可以参考下     本文实例讲述了JQuery中extend的用法.分享给大家供大家参考.具体分析如下: extend()函数是jQuery的基础函数之一,作用是扩展现有的对象.extend是我们在写插件的过程中常用的方法,该方法有一些重载原型.$.extend(prop) 用于扩展jQuery对象,可以用于把函数添加到jQuery名称空间中. 一.jQuery.extend函数的源

jQuery中$.extend()用法实例

  本文实例讲述了jQuery中$.extend()用法.分享给大家供大家参考.具体分析如下: $.extend()方法定义如下: jQuery.extend([deep], target, object1, [objectN]) 用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 如果不指定target,则给jQuery命名空间本身进行扩展.这有助于插件作者为jQuery增加新方法. 如果第一个参数设置为true,则jQuery返回一个深层次的副本,递归地复制找到的任何对象.否则的话,副本

jQuery中$.extend()用法实例_jquery

本文实例讲述了jQuery中$.extend()用法.分享给大家供大家参考.具体分析如下: $.extend()方法定义如下: jQuery.extend([deep], target, object1, [objectN]) 用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 如果不指定target,则给jQuery命名空间本身进行扩展.这有助于插件作者为jQuery增加新方法. 如果第一个参数设置为true,则jQuery返回一个深层次的副本,递归地复制找到的任何对象.否则的话,副本会与

jQuery中extend()和fn.extend()方法详解

  jQuery自定义了jQuery.extend()和jQuery.fn.extend()方法.其中jQuery.extend()方法能够创建全局函数或者选择器,而jQuery.fn.extend()方法能够创建jQuery对象方法. 这两个方法用的是相同的代码,一个用于给jQuery对象或者普通对象合并属性和方法一个是针对jQuery对象的实例,对于基本用法举几个例子: html代码如下:    代码如下: <!doctype html> <html> <head>

jQuery中extend函数详解

 在jQuery的API手册中,我们看到,extend实际上是挂载在jQuery和jQuery.fn上的两个不同方法,尽管在jQuery内部jQuery.extend()和jQuery.fn.extend()是用相同的代码实现的,但是它们的功能却不太一样.来看一下 官方API对extend 的解释: 代码如下:   代码如下: jQuery.extend(): Merge the contents of two or more objects together into the first ob

jQuery中extend()和fn.extend()方法详解_jquery

这两个方法用的是相同的代码一个用于给jQuery对象或者普通对象合并属性和方法一个是针对jQuery对象的实例对于基本用法举几个例子 html代码如下 复制代码 代码如下: <!doctype html> <html>    <head>       <title></title>         <script src='jquery-1.7.1.js'></script>    </head>    <

jQuery中extend函数的实现原理详解_jquery

extend()是jQuery中一个重要的函数,作用是实现对对象的扩展, 它经常用于jQuery插件的开发,jQuery内部也使用它来扩展属性方法,如上篇文章中讲到的noConflict方法,就是用extend方法来扩展的. 在jQuery的API手册中,我们看到,extend实际上是挂载在jQuery和jQuery.fn上的两个不同方法,尽管在jQuery内部jQuery.extend()和jQuery.fn.extend()是用相同的代码实现的,但是它们的功能却不太一样.来看一下官方API对

jQuery中extend函数详解_jquery

在jQuery的API手册中,我们看到,extend实际上是挂载在jQuery和jQuery.fn上的两个不同方法,尽管在jQuery内部jQuery.extend()和jQuery.fn.extend()是用相同的代码实现的,但是它们的功能却不太一样.来看一下 官方API对extend 的解释: 代码如下: 复制代码 代码如下: jQuery.extend(): Merge the contents of two or more objects together into the first

jquery中extend, $.extend源码分析

好久没写jquery源码的内容了.. jquery的发展有很大因素是因为它非常易于扩展,究其原因就得益于 extend函数 该函数是一个扩展函数-说是一个扩展函数,其实就是一个浅拷贝和深拷贝的函数而已. 该函数 确实很强大,而且写的很优雅.. 先来看看用法,有三种用法.  代码如下 复制代码 1.$.extend(dest,src1,src2,src3-); 2.$.extend(src) 3.$.extend(boolean,dest,src1,src2,src3-) 意思就是将 src1,s