1.$.extend(src) 解释:参数为一个参数时,在jq全局对象中扩展属性或者函数。 $.extend({ hello:function(){ alert("Hello World!"); }, ok:function(){ alert("我已经在jq全局对象中啦!!!"); } }) $.hello(); $.ok();
重载原型 2.$.extend(boolean,dest,src1,src2,src3,....) 解释:boolean 参数布尔型,意思是是否深度拷贝, dest,src1,src2,src3 参数,意思是把后面的src1,src2,src3合并到dest参数中 此时boolean发挥它的做用 如: $(function() { var result=$.extend(true, {}, {name:"zhangsan",age:26,location:{address:"nc",phone:18679125671,status:2}}, {lastName:"lisi",job:"programe",location:{address:"wh",phone:12345678912}} ) console.log(result); })
咱们能够看到结果是javascript
{name:"zhangsan",age:26,location:{address:"nc",phone:18679125671,status:2}},
{lastName:"lisi",job:"programe",location:{address:"wh",phone:12345678912}}java
它们合并为一个对象,而且若是有重复的属性,后一个对象和覆盖前一个对象的属性值。由于boolean咱们设置为true,那么对象里的子对象和进行了合并。下面咱们看boolean为false.函数
$(function() { var result=$.extend(false, {}, {name:"zhangsan",age:26,location:{address:"nc",phone:18679125671,status:2}}, {lastName:"lisi",job:"programe",location:{address:"wh",phone:12345678912}} ) console.log(result); })
从结果上咱们能够看出,boolean设置为false,location属性的值没有进行合并。直接由后面的覆盖了面的code