为了账号安全,请及时绑定邮箱和手机立即绑定

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扩展了吗?

正在回答

4 回答

查了一下网上资料,大致懂了。

 一、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也相同。


2 回复 有任何疑惑可以回复我~
#1

我心自飞扬

牛!!!
2016-01-15 回复 有任何疑惑可以回复我~

同不明白,希望有大神解答!!!!!

0 回复 有任何疑惑可以回复我~

wo ye xiang zhi dao!


0 回复 有任何疑惑可以回复我~

这还真是个问题,我也想知道

0 回复 有任何疑惑可以回复我~
#1

xiaotangbao

我也想知道,有搞懂的么?
2015-10-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

strTmp += objNewInfo.name + objNewInfo.title;

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信