1.实现
/**
* 有一个函数为extend,该函数有两个参数
* arg1
* arg2
* 当第一次调用该函数的时候,创建一个类,
* 当第二次调用该函数的时候,为这个类提供扩展
*/
function extend(json,prop){
function F(){
}
/**
* 如果json为函数
*/
if(typeof json == "function"){
/**
* 如果json为一个函数,把json的原型赋值给了F的原型,相当于F继承了json
*/
F.prototype = json.prototype;
/**
* prop为扩展,把prop的每一个key,value键值对赋值给了F的prototype
*/
for(var i in prop){
F.prototype[i] = prop[i];
}
}
/**
* 如果json为json对象
* 当第一次调用extend方法的时候,执行该if语句
*/
if(typeof json == "object"){
/**
* 遍历json对象,把json对象的每一个key值添加了F的prototype属性的属性上
* 把json对象的每一个value值赋值给prototype的属性的值
*/
for(var i in json){
F.prototype[i] = json[i];
}
}
return new F();
}
/**
* 有一个函数为extend,该函数有两个参数
*