阅读背景:

js 自定义extend函数_robbinBlog

来源:互联网 

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,该函数有两个参数
 *  



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: