tips :1. 如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时,target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加新的函数。
2. 如果多个对象具有相同的属性,则后者会覆盖前者的属性值。
将多个对象合并成一个
ex:let user = {name:'无敌人',age:19}
let page = {pageSize:10,currentPage:1}
let newObj = {}
let a=Object.assign(newObj,user,page)
tips:$.extend()最终也许会改变其中的一个对象,而Object.assign()会返回一个新的合并了的对象 而传入的这些对象不会被改变
我来回答一下:
首先要遍历对象属性,然后再加到链接后面
对象属性用 &链接,链接后面用?连接:
function createURL (url,param/*链接和参数*/){Object.each(param,function(item,key){
var link = '&' + key + "=" + item
myURL.link += link
})
myURL.link = url + "?" + myURL.link.substr(1)
return myURL.link.replace(' ','')
}
举个简单例子,希望你能明白,1、下面输出结果是"jim",而不是"tom",
是因为数组中保存的都是指向json对象a的地址,
dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,
当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。
var
dd
=
[]var
a
=
{
"cname":
"tom"
}for
(var
i
=
0
i
<4
i++)
{
dd[i]
=a}dd[0].cname
=
"jim"alert(dd[2].cname)2、下面输出结果是0,而不是1,
是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的内存地址都不同,互不干扰。
var
dd
=
[]var
a
=
0for
(var
i
=
0
i
<4
i++)
{
dd[i]
=a}dd[0]=1alert(dd[2])
希望对你有帮助!