js 对象的clone()函数

2019-12-18  本文已影响0人  愤怒的阿昆达
function clone(Obj){
    var buf;
    if(Obj instanceof Array){
        buf=[];
        var i=Obj.length;
        while(i--){
            buf[i]=clone(Obj[i]);
        }
        return buf;
    }
    else if(Obj instanceof Object){
        buf={};
        for(var k in Obj){
            buf[k]=clone(Obj[k]);
        }
        return buf;
    }else{
        return Obj;
    }
}

js对象之间的赋值,如果直接用"="会发现来两个对象还是同一个对象,改变其中一个另外的一个也会做出对应的改变

为了解决这个问题,可以利用java里面的clone的原理

比如:

var temp=vusp.data[i]

此时我们改变temp里面的值 vusp.data[i] 里面的值也会改变

可以利用上面的函数 :var temp=clone(vusp.data[i])

希望对你有所帮助!
————————————————
版权声明:本文为CSDN博主「我是大头鸟」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/datouniao1/article/details/93634148

上一篇 下一篇

猜你喜欢

热点阅读