我在写一个jQuery lib,我需要实现Datetime函数。 我需要创建一个.Date()函数,它返回一个新的Date对象。javascript:将参数传递给对象构造函数
如何将我的.Date(args)函数的参数传递给Date对象的构造函数,以便创建一个新的日期对象?
我试过这样的事情,我是插件名称空间,me = $。jqGUI。
//.Date(Value)
/* Return a date object.
* ReturnValue = Date(Value)
*/
me.Date = function(Value){
//pass arguments to Date constructor
var sDate = Date.prototype.constructor.apply(null, arguments);
console.log(sDate);
//create a date object d
var d = new Date(sDate);
//validate date object
if(d.toDateString()=="Invalid Date"){
throw new Error("$.jqGUI.Date: Invalid Date");
}
else{
return d;
}
};
在这里,我传递给Date.prototype.constructor的论点,但我在任何情况下,当前的日期得到。 如果参数是一个日期字符串,它将被忽略。 为什么?
'Date.prototype.constructor'是完全等效于刚'Date' – lanzz 2012-07-10 07:46:15
的[通过调用实例化prototype.constructor.apply JavaScript对象]可以重复(http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply) – Jon 2012-07-10 07:47:00
查看接受的答案。 – Jon 2012-07-10 07:47:22