码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-05-14 18:41:02      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:javascript   constructor   

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

/**
 * 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应用层的一个空白

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

标签:javascript   constructor   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!