$.extend()的使用方法
$.extend()可用于合并参数和对象合,在jquery插件开发中经常用到,给大家分享的$.extend()在合并对象和合并参数时的使用方法。
jquery.extend()用于参数合并
函数原型:extend(arg,arg1,arg2,……);
返回值:未arg1,arg2……合并到arg。这里就有两种用法。
1、省略arg参数,则arg1,arg2……合并后返回。
var results=$.extend({name:'nick'},{sex:'handsome'});
//那么,返回值为
results={name:'nick',sex:'handsome'};
2、自定义arg参数,则返回自定义类型的arg。如:
//这里定义arg为一个对象
var results=$.extend({},{name:'nick'},{sex:'handsome'});
//那么,返回值为arg对象
results={name:'nick',sex:'handsome'};
//这里定义arg为一个数组
var results=$.extend([],{name:'nick'},{sex:'handsome'});
//那么,返回值为arg数组
results=[name:'nick',sex:'handsome'];
注意:
合并参数时,若$.extend()中参数的属性名冲突了,则后面的值会替换前面的值。
//这里定义arg为一个对象
var results=$.extend({},{name:'nick',sex:'male'},{sex:'handsome'});
//那么,返回值为arg对象。sex属性冲突,则后面的值handsome替换male
results={name:'nick',sex:'handsome'};
jquery.extend()用于合并对象
jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。
注意:
1. 如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时,target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加新的函数。
2. 如果多个对象具有相同的属性,则后者会覆盖前者的属性值。
语法
$.extend( target [, object1 ] [, objectN ] )
指示是否深度合并
$.extend( [deep ], target, object1 [, objectN ] )
警告: 不支持第一个参数传递 false 。