strTmp += objNewInfo.name + objNewInfo.title;
在调用了var objNewInfo =$.extend(objInfo,objMess);后
strTmp += objNewInfo.name + objNewInfo.title;
strTmp += objInfo.name + objInfo.title;
strTmp += objMess.name + objMess.title;
为什么这三个输出结果一样,是Mess将Info扩展了吗?
在调用了var objNewInfo =$.extend(objInfo,objMess);后
strTmp += objNewInfo.name + objNewInfo.title;
strTmp += objInfo.name + objInfo.title;
strTmp += objMess.name + objMess.title;
为什么这三个输出结果一样,是Mess将Info扩展了吗?
2015-09-23
查了一下网上资料,大致懂了。
一、Jquery的扩展方法原型是:
extend(dest,src1,src2,src3...);
它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。在这节课的使用来看,这个dest就是第一个obj,也就是说$.extend(obj1,obj2),是将obj1和obj2合并到obj1中,同时也会返回obj1.也就是说文中的objNewInfo和objInfo在经过合并后是相同的。而后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。所以在此实例中,objNewInfo和objInfo是相同的,而objMess在合并时将它自己本身的内容覆盖(覆盖了objInfo的name)和添加(添加了title).导致objNewInfo和objInfo和objMess也相同。
举报