分组网址
下一步思路貌似就是创建增删改查的操作方法了。但是其实这其中是可以抽象出一个叫做集合的类,然后sitesGroups和sites都继承自这个类。
/*
* Collection 抽象类-集合
*
*/
function Collection(){
this.arr = [];
}
Collection.prototype.add=function(item){
this.arr.push(item);
}
Collection.prototype.remove=function(index){
this.arr.splice(index,1);
}
Collection.prototype.item=function(index){
return this.arr[index];
}
基于集合类继承创建的sitesGroups和sites:
function sitesGroups(){
//创建集合
this.items = new Collection();
//构建
if(arguments.length==1){
}
}
sitesGroups.prototype.add = function(name){
var gup = new Group(name);
this.items.add(gup);
return gup;
}
sitesGroups.prototype.remove = function(index){
this.items.remove(index);
}
sitesGroups.prototype.item = function(index){
return this.items.item(index);
}
//Group类
function Group(name){
this.name = name
this.sites = new Sites();
}
//Sites类
function Sites(){
this.items = new Collection();
}
Sites.prototype.item =function(index){
return this.items.item(index);
}
Sites.prototype.add =function(name,url,icon){
var site = new Site(name,url,icon);
this.items.add(site);
return site;
}
//Site类
function Site(name,url,icon){
this.name=name;
this.url=url;
this.icon=icon;
}
用代码方式从零创建分组网址簿和添加分组,添加网址。
var gups = new sitesGroups();
var gup = gups.add("gup1");
var site = gup.sites.add("ss","url","icon");