[英]Missing semicolon in JavaScript / JScript
我在BRIO(Hyperion Interactive Reporting Studio)中编写了以下代码。 代码不是JavaScript就是JScript,尽管我不确定是哪一种语言,因为我只是在学习语法,也不知道它们之间的区别。
无论如何,我越来越Script(line number) missing; before statement
语法Script(line number) missing; before statement
以下行中的Script(line number) missing; before statement
错误:
if (xYear == 2012 && yMonth == 10) {stopIt = "Yes"} else (yMonth == 12) {stopIt = "Yes"}
和
var myDate = New Date(xYear, yMonth, 1)
在下面的代码中。
var xYear
var yMonth
for (j = 2009; j = 2012; j++)
{
xYear = j
if (xYear == 2009) {yMonth = 7} else {yMonth = 1}
var StopIt = "No"
Do
{
var myDate = New Date(xYear, yMonth, 1)
Alert (myDate)
//var myQuery = ActiveDocument.Sections["qry_billing"]
//myQuery.Limits["Accounting Year Month"].CustomValues.RemoveAll()
//myQuery.Limits["Accounting Year Month"].CustomValues.Add(myDate)
//myQuery.Limits["Accounting Year Month"].SelectedValues.Add(myDate)
//myQuery.Process()
//var Path = "W:\\Major Accounts\\Alliance Process\\AAA\\reference_files\\Results"
//var File = "Results" + "_" + xYear + "_" + yMonth+ " .txt"
//ActiveDocument.Sections["Results"].Export(Path + "\\" + File,bqExportFormatText,true)
yMonth = yMonth + 1
if (xYear == 2012 && yMonth == 10) {stopIt = "Yes"} else if (yMonth == 12) {stopIt = "Yes"}
}
While (stopIt != "Yes")
}
有人可以帮我解决这个问题,因为我不明白为什么它要我提供;
,因为我认为BRIO文档脚本中甚至不需要它。
else (yMonth == 12)
应该:
else if (yMonth == 12)
当您正确缩进代码时,很容易注意到此错误:
if (xYear == 2012 && yMonth == 10) {
stopIt = "Yes"
}
else (yMonth == 12) { // shoule be: else if (yMonth == 12) {
stopIt = "Yes"
}
注意:javascript 区分大小写 ,这意味着
Do
不是do
alert
而不是Alert
new
而不是New
但是分号不是强制性的,您可以根据需要使用它们,也可以不使用。
更新:
看完您发布的完整代码,伙计,它有很多奇怪的东西。
for (j = 2009; j = 2012; j++)
应该是这样的:
for (var j = 2009; j <= 2012; j++)
...
您定义一个变量:
var StopIt = "No"
但是使用stopIt
代替:
stopIt = "Yes"
您应该参加javascript课程\\教程,这并不难学习,但是处于当前状态的代码已完全损坏!
为了清楚起见,我的问题的答案是双重的,基于gdoron的非常有用和翔实的答案以及Teemu在我的原始帖子下的评论。 总结一下答案,我已经在下面回答了我自己的问题:
此语句中的错误
if (xYear == 2012 && yMonth == 10) {stopIt = "Yes"} else (yMonth == 12) {stopIt = "Yes"}
if
在else
之后丢失了
所以它应该看起来像这样:
if (xYear == 2012 && yMonth == 10) {
stopIt = "Yes"
}
else if (yMonth == 12) {
stopIt = "Yes"
}
此语句中的错误
var myDate = New Date(xYear, yMonth, 1)
就是不应该对New
进行大写。 因此,应将其写为:
var myDate = new Date(xYear, yMonth, 1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.