Javascript";期望&引用;关于int
我定义的三个int变量(月、日、年)不断出现“预期”错误:Javascript";期望&引用;关于int,javascript,asp.net-mvc-4,debugging,Javascript,Asp.net Mvc 4,Debugging,我定义的三个int变量(月、日、年)不断出现“预期”错误: <script type="text/javascript"> function validateDateFormat(input) { var values = input.value.split("/"); int month = parseInt(values[0]); int day = parseInt(values[1]); int year =
<script type="text/javascript">
function validateDateFormat(input)
{
var values = input.value.split("/");
int month = parseInt(values[0]);
int day = parseInt(values[1]);
int year = parseInt(values[2]);
if ((month < 1 || month > 12))
{
alert("Month value: "+ month + " is not a valid month using MM/DD/YYYY format");
input.value = "";
return;
}
if ((String.valueOf(year).length() != 4))
{
alert("Year value: "+ year + " is not a valid year using MM/DD/YYYY format");
input.value = "";
return;
}
if(day < 1 || day > daysInMonth(month, year))
{
alert("Day value: "+ day + " is not a valid day for the month with value: " + month + " using MM/DD/YYYY format");
input.value = "";
return;
}
};
函数validateDateFormat(输入)
{
var values=input.value.split(“/”);
int month=parseInt(值[0]);
int day=parseInt(值[1]);
int year=parseInt(值[2]);
如果((月<1 | |月>12))
{
警报(“月份值:“+Month+”不是使用MM/DD/YYYY格式的有效月份”);
input.value=“”;
返回;
}
如果((字符串.valueOf(year.length()!=4))
{
警报(“年份值:“+Year+”不是使用MM/DD/YYYY格式的有效年份”);
input.value=“”;
返回;
}
如果(日<1 | |日>daysInMonth(月,年))
{
警报(“日值:“+Day+”不是使用MM/DD/YYYY格式且值为“+month+”的月份的有效日”);
input.value=“”;
返回;
}
};
当我尝试运行页面时,FireFox中的调试器会抛出:
语法错误:缺少;声明前
我不明白问题出在哪里。即使我只是这样做,int month=0作为第一行,我仍然会得到相同的错误。我在Asp.net MVC 4上使用Razor,但在javascript中不将变量声明为
int
改变
int month = parseInt(values[0]);
到
(当然,下面两行也要这样做)
如果你真的想要类型化变量,你可以看看TypeScript,但我强烈建议你先深入研究惯用JS。在javascript中,你不能将变量声明为
int
改变
int month = parseInt(values[0]);
到
(当然,下面两行也要这样做)
如果你真的想要类型化变量,你可以看一看TypeScript,但我强烈建议你先深入研究惯用JS。然后对
日
和月
进行同样的操作,这就解决了问题。谢谢大家。只是缺乏使用JavaScript的经验。随机建议:在JS中,避免将开头的大括号放在自己的行上。您将防止奇怪的bug…然后对日
和月
执行相同的操作,以修复它。谢谢大家。只是缺乏使用JavaScript的经验。随机建议:在JS中,避免将开头的大括号放在自己的行上。你会阻止奇怪的虫子。。。