kg_loveyou2 2017-11-24 06:04 采纳率: 0%
浏览 805

以下两个扩展函数实现的功能有什么区别?

DUtil = {};
DUtil.extend = function (destination, source) {
    destination = destination || {};
    if (source) {
        for (var property in source) {
            var value = source[property];
            if (value !== undefined) {
                destination[property] = value;
            }
        }
        var sourceIsEvt = typeof window.Event == "function" && source instanceof window.Event;
        if (!sourceIsEvt && source.hasOwnProperty && source.hasOwnProperty('toString')) {
            destination.toString = source.toString;
        }
    }
    return destination;
};

DObject = function () {
    var Class = function () {
        if (arguments && arguments[0] != null) {
            this.construct.apply(this, arguments);
        }
    };
    var extended = {};
    var parent;
    for (var i = 0; i < arguments.length; ++i) {
        if (typeof arguments[i] == "function") {
            parent = arguments[i].prototype;
        } else {
            parent = arguments[i];
        }
        DUtil.extend(extended, parent);
    }
    Class.prototype = extended;
    return Class;
};

DUtil.extend用于扩展,DObject函数是用于继承(貌似也是扩展)?不知这个理解对不对?哪位能详细说下吗

  • 写回答

1条回答 默认 最新

  • 阡路陌人 2017-11-24 06:33
    关注

    扩展是本身行为,内容不定;而继承是基于父级的前提下获取内容,内容容量取决于父级

    评论

报告相同问题?

悬赏问题

  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题
  • ¥15 MS中不知道高分子的构型怎么构建模型