jquery 的extend的方法

Posted lucky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 的extend的方法相关的知识,希望对你有一定的参考价值。

用flot.js  用到了jquery的extend 方法

关于extend方法 我就照手册打一遍,加深一下理解,说实话其实我理解的也不透

extend  用一个或多个其他对象来扩展一个对象,返回被扩展的对象。

 

如果不指定target,则给jquery命名空间本身进行扩展,这有助于插件作者作为jquery增加新方法。如果第一个参数设置为true,则jquery返回一个深层次的副本,递归地复制找到任何对象。否则的话,副本会与原对象共享结构。未定义的属性将不会被复制,然后从对象的原型继承的属性将会被复制。

 

参数

target,【object1】,【objectn】

target:一个对象,如果附加的对象被传递给这个方法那么它将接收新的属性,如果他是唯一的参数将扩展jquery命名的空间。

object1:待合并到第一个对象的对象

objectn:待合并到第n个对象的对象

 

【deep】,target,object1,objectn

deep:如果设为true,则递归合并。

target:待修改对象

object1:待合并到第一个对象的对象

示例

合并settings和options,修改并返回settings。

var settings = {validate:false,limit:5,name:"foo"}

var options = {validate:true,name:"bar"}

$.extend(settings,options);

结果:

settings == {validate:true,limit:5,name:"bar"}

 

合并default和options,并返回settings

var empty ={};

var default= {validate:false,limit:5,name:"foo"};

var options = {validate:validate:true,name:"bar"};

var settings = $.extend(empty,default,options);

结果:

settings ={validate:true,limit:5,name:"bar"};

empty = {validate:true,limit:5,name:"bar"}

 

以上是关于jquery 的extend的方法的主要内容,如果未能解决你的问题,请参考以下文章

jQuery.extend()jQuery.fn.extend()扩展方法示例详解

jquery.extend()和jquery.fn.extend()

jquery的extend和fn.extend

jQuery $.extend()使用方法

jquery.fn.extend与jquery.extend

jQuery extend()和jQuery.fn.extend()