浅いクローンJS /オブジェクト/日付の配列

    // 封装
    関数クローン(OBJ){
         // 3つの単純型、ヌルまたは未定義ハンドル
        場合ヌル == OBJ || " オブジェクト" =!typeof演算の OBJ)戻りOBJを、
        // ハンドル日
        の場合(OBJのinstanceof日){
             VARのコピー= 新しい日付(); 
            copy.setTime(obj.getTime())。
            戻り値のコピー。
        } 
        // 配列ハンドル
        場合(OBJのinstanceofアレイ){
             VARのコピー= [];
            にとってVAR I = 0 ; I <obj.length; ++ I){ 
                コピー[I] = クローン(OBJ [I])。
            } 
            戻りコピー。
        } 
        // ハンドルオブジェクト
        場合(オブジェクトOBJのinstanceof){
             VARのコピー= {};
            VARの ATTR OBJ){
                 場合(obj.hasOwnProperty(ATTR))コピー[ATTR = クローン(OBJ [ATTR])。
            } 
            戻りコピー。
        } 
        スロー 新しい(エラーOBJをコピーすることができません!そのタイプがサポートされていません。" ); 
    }; 
   // 调用
    VAR ARR = [ 1235 ];
     VARの AA = クローン(ARR)
    はconsole.log(AA)
    はconsole.log(ARR); 
    VAR物体1 = { " "1" "2 };
     VARの OBJ1 = クローン(物体1)
    にconsole.log(物体1)
    にconsole.log(OBJ1); 
    VAR DTA = 新しい日付();
    VaRの QQ = クローン(DTA)。
    console.log(DTA)。
    console.log(QQ)。

 

おすすめ

転載: www.cnblogs.com/zhoushuang0426/p/10937467.html