简单的类继承
function extend(json,prop)
{
function F(){}
if(typeof json=="object")
{
for( var i in json)
{
F.prototype[i]=json[i];
}
}
if(typeof json=="function")
{
F.prototype=json.prototype;
for(var j in prop)
{
F.prototype[j]=prop[j];
}
}
return F;
}
var Person =extend({aa:"aa",bb:'bb'});
var p=new Person();
alert(p.aa);
var superPerson=extend(Person,{cc:'cc'});
var pp= new superPerson();
alert(pp.cc);
封装成包
function namespace(namespaceString){
var temp = [];
var array = namespaceString.split(".");
for(var i=0;i<array.length;i++){
temp.push(array[i]);
eval("window."+temp.join(".")+"={}");
}
}
使用包的类继承
namespace("com.zhiyou.model");
com.zhiyou.model.extend=function(destination,source)
{
if(typeof destination=="object")
{
if(typeof source=="object")
{
for(var i in source)
{
destination[i]=source[i];
}
}
}
if(typeof destination =="function")
{
if(typeof source =="object")
{
destination.prototype[i]=source[i];
}
if(typeof source=="function")
{
destination.prototype=source.prototype;
}
}
return destination;
}
var destination=com.zhiyou.model.extend({cc:'cc'},{aa:'aa',bb:'bb'});
alert(destination.aa);