首页 > 其他 > 详细

使用指定构造器和参数列表构造实例

时间:2015-05-14 18:40:15      阅读:203      评论:0      收藏:0      [点我收藏+]

给定构造函数和参数列表,求构造实例

/**
 * Note: This function uses window.eval, 
 * which means the function is not available in strict mode
 */
function newInstance(constrcutor,args){
	var length=args.length;
	var cacheKey="$"+length;
	var f=newInstance[cacheKey];
	if(!f){
		var values=new Array(length);
		for(var i=0;i<length;i++){values[i]="arguments["+i+"]";}
		f=eval("(function(){return new this("+values.join(",")+");})");
		newInstance[cacheKey]=f;
	}
	return f.apply(constrcutor,args);
}
/**
 * @example
 */
var values=[2015,4,14,9,17,4,5];
var date=newInstance(Date,values);//same as new Date(2015,4,14,9,17,4,5);

/**
 * @example
 */
function Point(x,y){
	this.x=x;
	this.y=y;
}
var x_y=[0,0];
var point=newInstance(Point,x_y);//same as new Point(0,0);

此功能的应用场景不广,但也算填补了JavaScript应用层的一个空白

使用指定构造器和参数列表构造实例

原文:http://blog.csdn.net/flashdelover/article/details/45723717

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!