JavaScript对象设置/获取参数

JavaScript Object set/get parameters

本文关键字:获取 参数 设置 对象 JavaScript      更新时间:2023-09-26

很抱歉,我的JavaScript不是很好,我搜索了一下,但没有找到答案,我希望你能帮助我。我有这个代码

var obj = {
    var1:[],
    var2:[],
    set1: function(){
        this.var1.push(1);
    },
    set2 : function(){
        this.var2 = this.var1;
    }
 };
 obj.set1();
 obj.set2();
 obj.set1();
 console.log(obj.var2);

我认为在控制台中[1] ,但正确的是[1,1]问题是如何将set2中的var2设置为控制台中有[1]。我认为this.var2=this.var1;是引用,但我确实需要将var2设置为var1

是的,您通过引用进行分配。您需要复制数组。我稍微修改了你的代码。

var obj = {
    var1:[],
    var2:[],
    set1: function(){
        this.var1.push(1);
    },
    set2 : function(){
        this.var2 = this.var1.slice()
    }
 };
 obj.set1();
 obj.set2();
 obj.set1();
 console.log(obj.var2);

array.slice()方法将返回一个具有相同值的新数组。