JS设计模式:组合模式

前端之家收集整理的这篇文章主要介绍了JS设计模式:组合模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
var inheritPrototype = function(Child,Parent) {
    Child.prototype = new Parent();
}
var News = function() {
    this.children = [];
    this.element = null;
}

News.prototype = {
init : function() {
throw new Error('Nothing!');
},add : function() {
throw new Error('Nothing!');
},getElement : function() {
throw new Error('Nothing!');
}
}

var Container = function(id,parent) {
News.call(this);
this.id = id;
this.parent = parent;
this.init();
}

Container.prototype.init = function() {
this.element = document.createElement('ul');
this.element.id = this.id;
this.element.className = 'new-container';
}

Container.prototype.add = function(child) {
this.children.push(child);
this.element.appendChild(child.getElement());
return this;
}

Container.prototype.getElement = function() {
return this.element;
}

Container.prototype.show = function() {
this.parent.appendChild(this.element);
}

部分整体的层次结构

var news1 = new Container('news',document.body);

news1.add(
new Item('normal').add(
new IconNews('','','');
)
).add(
new Item('normal').add(
new IconNews('','');
)
).show();

猜你在找的程序笔记相关文章