0

我在Javascript中有以下功能

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

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

4

4 回答 4

2

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

function validateDates() {
    var fromDateObj = Date.parse(GetControlDate('CalDate'));
    var toDateObj = Date.parse(GetControlDate('ToDate'));
}
于 2013-09-16T14:13:58.223 回答
2

JavaScript 没有“类型化”变量。你不需要Date变量名之前的,你需要var.

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

你要:

function validateDates() {
    var fromDateObj = new Date(GetControlDate('CalDate'));
    var toDateObj = new Date(GetControlDate('ToDate'));
}
于 2013-09-16T14:14:18.583 回答
1

使用var而不是Date声明你的变量:

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

JS 变量不固定为特定类型的值,因此不使用Dateorint或其他声明。

于 2013-09-16T14:11:24.140 回答
1

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

于 2013-09-16T14:49:41.237 回答