我在Javascript中有以下功能
function validateDates() {
Date fromDateObj = Date.parse(GetControlDate('CalDate'));
Date toDateObj = Date.parse(GetControlDate('ToDate'));
}
这两行导致语法错误,说“丢失”;'在陈述之前'。我无法弄清楚导致这种情况的原因,如果我用一个简单的警告声明替换这些行它可以正常工作,所以我知道问题出在那些行中。同样用实际日期字符串替换那些函数调用GetControlDate('CalDate')
也不能解决问题。谁能告诉我这是什么问题?
答案 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变量未固定为特定类型的值,因此未使用Date
或int
或其他任何内容声明。
答案 3 :(得分:1)
Date
不是变量的有效数据类型,使用弱类型var
。