通过调用 prototype.constructor.apply 来实例化一个 JavaScript 对象
- 论坛
- 通过调用 prototype.constructor.apply 来实例化一个 JavaScript 对象
11 浏览
通过调用 prototype.constructor.apply 来实例化一个 JavaScript 对象
让我以一个具体的例子开始说明我想要做的事情。
我有一个由年、月、日、小时、分钟、秒和毫秒组成的数组,形式如下:[ 2008, 10, 8, 00, 16, 34, 254 ]
。我想要使用以下标准构造函数来实例化一个Date对象:
new Date(year, month, date [, hour, minute, second, millisecond ])
我该如何将我的数组传递给这个构造函数以获取一个新的Date实例?[ 更新:我的问题实际上超出了这个具体例子。我想要一个通用的解决方案,适用于内置的JavaScript类,如Date、Array、RegExp等,它们的构造函数超出了我的能力范围。]
我正尝试做类似以下的事情:
var comps = [ 2008, 10, 8, 00, 16, 34, 254 ]; var d = Date.prototype.constructor.apply(this, comps);
我可能需要在其中某个地方加上"new
"。上述代码只返回当前时间,就好像我调用了"(new Date()).toString()
"一样。我也承认我可能完全错了。
注意:请不要使用eval()
,也不要逐个访问数组项。我相当确定我应该能够直接使用数组。