美文网首页
我的javascript代码片段

我的javascript代码片段

作者: sakisama | 来源:发表于2016-03-14 12:45 被阅读18次

    1.对象的继承扩展——深度复制

    Object.prototype.extend = function(...rest){
            //使用es6中的剩余参数方式来取代之前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;
    }
    

    相关文章

      网友评论

          本文标题:我的javascript代码片段

          本文链接:https://www.haomeiwen.com/subject/xweflttx.html