Date对象中的Javascript语法错误

时间:2013-09-16 14:09:44

标签: javascript date

我在Javascript中有以下功能

function validateDates() {
Date fromDateObj = Date.parse(GetControlDate('CalDate'));
Date toDateObj = Date.parse(GetControlDate('ToDate'));
}

这两行导致语法错误,说“丢失”;'在陈述之前'。我无法弄清楚导致这种情况的原因,如果我用一个简单的警告声明替换这些行它可以正常工作,所以我知道问题出在那些行中。同样用实际日期字符串替换那些函数调用GetControlDate('CalDate')也不能解决问题。谁能告诉我这是什么问题?

4 个答案:

答案 0 :(得分:2)

Javascript是弱类型。除Java或C#中的强类型外,所有变量都是“var”。因此使用var而不是Date

function validateDates() {
    var fromDateObj = Date.parse(GetControlDate('CalDate'));
    var toDateObj = Date.parse(GetControlDate('ToDate'));
}

答案 1 :(得分:2)

JavaScript没有“类型化”变量。在变量名称之前不需要Date,您需要var

此外,Date.parse返回一个int(UNIX时间戳),而不是Date对象。

你想:

function validateDates() {
    var fromDateObj = new Date(GetControlDate('CalDate'));
    var toDateObj = new Date(GetControlDate('ToDate'));
}

答案 2 :(得分:1)

使用var而非Date来声明您的变量:

function validateDates() {
    var fromDateObj = Date.parse(GetControlDate('CalDate'));
    var toDateObj = Date.parse(GetControlDate('ToDate'));
}

JS变量未固定为特定类型的值,因此未使用Dateint或其他任何内容声明。

答案 3 :(得分:1)

Date不是变量的有效数据类型,使用弱类型var