/**
* 这继承怕是没谁了======================
*
* 实现的功能:
*
* 当该函数有一个参数的情况下创建类
* 当该函数有两个参数的情况下,第一个参数是基类,第二个参数就是在基类的基础上添加内容
*
*/
function extend(obj,prop){
function F(){
}
/**
* 情况一:obj是一个json格式的对象
* 将 obj中的key value 赋值到 F的原型上
*/
if(typeof obj =="object"){
for (var name in obj) {
F.prototype[name]=obj[name];
}
}else{
//第二次
/**
* 情况二:obj是一个函数
* 将 obj中的prototype 赋值到 F的原型上
* 并将 prop的 key value赋值到 F的原型上
*
*/
F.prototype=obj.prototype;
for (var name in prop) {
F.prototype[name]=prop[name];
}
}
return F;
}
//一
var Person=extend({
name:'namemingcheng',
id:6
});
//二
var SurPerson=extend(Person,{
sex:'aa'
});
/**
* sp拥有Person和SurPerson的属性
*/
var sp=new SurPerson();
alert(sp.name);
alert(sp.id);
alert(sp.sex);
网友评论