深さclone

613 ワード

1、前にjavascriptのデザインモードで見たことがありますが、詳しく分析していません.2、次は一例です.
    if (Obj instanceof Array) {   
        buf = [];  //         
        var i = Obj.length;   
        while (i--) {   
            buf[i] = clone(Obj[i]);   
        }   
        return buf;    www.2cto.com
    }else if (Obj instanceof Object){   
        buf = {};  //        
        for (var k in Obj) {  //            
            buf[k] = clone(Obj[k]);   
        }   
        return buf;   
    }else{   
        return Obj;   
    }   
} 
一つはよく分かりません.関数なら、javascriptの中の関数も対象とすることができますが、一つの方法として、cloneはどうやって完成しますか?ちょっと迷っています