您的位置:首页 > Web前端 > JQuery

关于jquery的$.extend(true,{},m,n)的一个小问题

2016-04-06 13:39 459 查看
如标题:假如m = {name:{name1:1, name2:2, name3:3}},

n = {name:{name1:11, name2:22, name4:44}}

注意:此处及下文说的都是内部嵌套数组的对象,而不是像{name1:1,name2:2,name3:3}这样的不含嵌套数组的对象

如果var temp = $.extend(true,{},m,n);

则temp={name:{name1:11,name2:22,name3:3,name4:44}}

如果把true换成false

则temp={name:{name1:11,name2:22,name4:44}}

不管是true还是false,均是新建一个Object,而不改变原参数。

如果不写true或false,则默认false,像.extend(,m,n),则会新建一个Object,不改变m,n,而.extend(m,n)这个,会改变m

综上true的作用是进行合并时保留m中的名称不同于n的属性

而false的作用是不保留。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery js