第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

js深度繼承的非遞歸方法

標(biāo)簽:
JavaScript
 // start
  var aaa= function() {
 var options, name, src, copy, copyIsArray, clone,
    target = arguments[ 0 ]  {},
    i = 1,
    length = arguments.length,
    deep = false;

// Handle a deep copy situation
if ( typeof target === "boolean" ) {
    deep = target;

    // Skip the boolean and the target
    target = arguments[ i ]  {};
    i++;
}

// Handle case when target is a string or something (possible in deep copy)
if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
    target = {};
}

// Extend jQuery itself if only one argument is passed
if ( i === length ) {
    target = this;
    i--;
}

for ( ; i < length; i++ ) {

    // Only deal with non-null/undefined values
    if ( ( options = arguments[ i ] ) != null ) {

        // Extend the base object
        for ( name in options ) {

            src = target[ name ];
            copy = options[ name ];

            // Prevent never-ending loop
            if ( target === copy ) {

                continue;
            }

            // Recurse if we're merging plain objects or arrays
          if ( deep && copy && ( jQuery.isPlainObject( copy ) 
                ( copyIsArray = jQuery.isArray( copy ) ) ) ) {

                if ( copyIsArray ) {
                    copyIsArray = false;
                    clone = src && jQuery.isArray( src ) ? src : [];

                } else {
                    clone = src && jQuery.isPlainObject( src ) ? src : {};
                }                  
               var ary=[];
               var mem={};
               mem['.'+name]=jQuery.isPlainObject( copy )?{}:(jQuery.isArray( copy ) ? [] : '');      
               for(var j in copy){
                   ary.push({name:'.'+name+'.'+j,value:copy[j]});
                   mem['.'+name+'.'+j]=jQuery.isPlainObject( copy[j] )?{}:(jQuery.isArray( copy[j] ) ? [] : '');
               }

               while(ary.length>0){
                    var temb=ary.shift();

                if( jQuery.isPlainObject( temb.value ) ( copyIsArray = jQuery.isArray( temb.value ))){
                mem[temb.name]=jQuery.isPlainObject( temb.value )?{}:(jQuery.isArray( temb.value ) ? [] : '');            
                     for(var k in temb.value){          
                       ary.push({name:temb.name+'.'+k,value:temb.value[k]});
                       mem[temb.name+'.'+k]=jQuery.isPlainObject( temb.value[k] )?{}:(jQuery.isArray( temb.value[k] ) ? [] : '');            
                     }                        
                  }else{
                  var aryA=temb.name.split(".");
                  var tembName='';

                  for(var n=1,len=aryA.length;n<len;n++){
                   if(n!=(len-1)){                        
                     eval('target'+tembName)[aryA[n]]=eval('target'+tembName)[aryA[n]]mem[tembName+'.'+aryA[n]];                       
                    }else{                          
                       eval('target'+tembName)[aryA[n]]=temb.value;                     
                    }
                      tembName=tembName+'.'+aryA[n];                          
                  }
                 }
               }
            // Don't bring in undefined values
            } else if ( copy !== undefined ) {

                target[ name ] = copy;
            }
        }
    }
}
// Return the modified object
    console.log(target)
return target;

};
var a={a:{a:1,b:2},b:3,c:{e:44,ff:[1,4,5]}};
var b={};
aaa(true,b,a);
alert(b.c.ff[2]);

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消