天天看點

js 對象的clone()函數

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] 裡面的值也會改變