我的javascript代碼片段

1.對象的繼承擴(kuò)展——深度復(fù)制

Object.prototype.extend = function(...rest){
        //使用es6中的剩余參數(shù)方式來取代之前arguments
        var i=0,
            len = rest.length;
        for(i; i<len; i++){
            var source = rest[i];
            for(var property in source){
                //通過hasOwnProperty的判斷來避免操作prototype上的屬性
                if(source.hasOwnProperty(property)){
                    var sourceTmp = {};
                    if(typeof source[property] == "object"){
                        var tmp = Array.isArray(source[property]) ? [] : {};
                        sourceTmp = tmp.extend(source[property]);
                    } else {
                        sourceTmp = source[property];
                    }
                    this[property] = sourceTmp;
                }
            }
        }
    return this;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,556評論 6 13
  • 序 從最近的js入門系列的閱讀量逐步遞減,觀眾老爺?shù)呐d趣也不再能夠接受一些細(xì)節(jié)性的地方深度挖掘,讓我有了一些思考。...
    zhaolion閱讀 1,737評論 5 19
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評論 25 708
  • 以前,總覺得幫助別人是一種素養(yǎng)、一份愛心;而今,卻覺得幫助別人是一種能力! “幫助別人是一種能力!”記憶中曾在哪里...
    木子如磐閱讀 1,445評論 0 0
  • 小朋友,在你還沒出世之前,我就開始要做好吃的甜食了,雖然你媽媽不喜歡吃,但我還是覺得甜食是這世界上最好吃的東西。我...
    溫思默克閱讀 237評論 0 0

友情鏈接更多精彩內(nèi)容