js里面的引用传递(数组赋值)
时间:2020-10-21 22:19:45
收藏:0
阅读:35
先看一个例子:
var a={name:[],list:[]};var list2=[1,3];a.name= list2;a.list= list2;a.list[1]=4;console.log(a.name);
本以为会输出[1,3],实际上输出[1,4],因为name和list都指向了list2的地址:
解决方案:
var a={name:[],list:[]};var list2=[1,3];a.name= $.extend(true,{},list2);a.list= $.extend(true,{},list2);a.list[1]=4;console.log(a.name);
或者:
var a={name:[],list:[]};var list2=[1,3];a.name= list2.concat();a.list= list2.concat();a.list[1]=4;console.log(a.name);
concat()表示连接数组,里面可以加值
原文:https://www.cnblogs.com/AduBlog/p/13854171.html
评论(0)