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"}

 

posted @ 2017-11-27 15:01  luckylou  阅读(189)  评论(0编辑  收藏  举报