语法错误
所创建的语句违反了一条或多条 JScript 的语法规则。 要改正此错误 - 根据所给定的行号检查程序的语法。
- 查找不匹配的圆括号或中括号。
需要 ':'
试图创建一个使用三目条件运算符的表达式,但是在第二操作数和第三操作数之间没有包括冒号。三目(三个操作数)条件操作符在第二个(为真)和第三个(为假)操作数之间一定要有一个冒号。 要改正此错误
需要 ';'
试图在一行内写多条语句,但没有用分号将各条语句加以分隔。分号是用来结束语句的。可以在一行内写多条语句,不过每条语句后都必须加分号以便分开。 要改正此错误
- 在每条语句后写一个分号。
- 确保函数调用正确使用圆括号。
- 确保没有忘记 for 循环头部中的分号。
需要 '('
试图用一组圆括号来括住一个表达式,但缺少开始圆括号。有些表达式必须用一组开始圆括号和结束圆括号括住。 for (initialize; test; increment) { statement; } 要改正此错误
需要 ')'
试图用一组圆括号来括住一个表达式,但缺少结束圆括号。有些表达式必须用一组开始圆括号和结束圆括号括住。 for (initialize; test; increment) { statement; } 要改正此错误
需要 ']'
引用数组元素时缺少右中括号。引用数组元素的任何表达式都必须包括左中括号和右中括号。 要改正此错误
需要 '{'
没有用左大括号来标记函数体的开始位置。对于组成函数体的代码,即使只有一行,也必须包含在左大括号和右大括号中。请注意函数体对大括号的使用要比循环中的使用更严格。 要改正此错误
需要 '}'
没有用右大括号来标记函数体、循环、代码块或者对象初始化软件的结束位置。这种错误的一个示例是:for 循环只有标记循环体起点的左括号。 要改正此错误
- 添加右大括号,标记函数、循环、语句块、或者对象初始化的结束位置。
需要标识符
在需要标识符的上下文中,使用了不是标识符的内容。标识符可以是: 要改正此错误
需要 '='
试图创建一个供条件编译语句使用的变量,但在变量和要赋给该变量的值之间缺少一个等号。 要改正此错误
- 添加一个等号。例如:
@set @myvar1 = 1
需要 '/'
试图创建一个正则表达式文字,但没有包括其中的斜杠 (/)。正如字符串文字表示为一对单引号内的字符一样,正则表达式文字则表示为一对斜杠 (/) 内的字符。 要改正此错误
非法字符
JScript 编译器认为由字符(或多个字符)组成的标识符非法。合法字符应遵守下述规则: - 第一个字符必须为ASCII字母(大写或小写)或下划线 (_)。
- 后续字符可以是ASCII字母、数字和下划线。
- 标识符名称不能为保留字。
要改正此错误
- 避免使用不属于 JScript 语言定义部分的字符。
字符串常数未结束
字符串常数后面没有用结束的单引号。字符串常数必须用单引号引起来。 注意 可以使用单引号或双引号作为匹配符,双引号可以包含在单引号所引起来的字符串中,单引号也可以包含在双引号引起来的字符串中。 要改正此错误
注释未结束
多行注释块没有结束。多行注释块以一个 "/*" 组合开始,并以"*/" 组合结束。下面是示例: /* 这是注释 这是同一注释的另一部分。*/ 要改正此错误
函数外有 'return' 语句
在代码的全部范围内使用。return 语句只能出现在函数体内。 使用 () 操作符调用函数是一个表达式。所有的表达式都有值;return 语句用来指定由函数返回的值。通常的形式是: return [ expression ]; 当执行到 return 语句时,首先对该表达式求值并将其返回作为该函数的值。如果没有表达式,则返回 undefined 。 当 return 语句执行完毕后,该函数的执行就终止了,即使还有函数体中仍有其它语句。这个规则的一个例外是如果该 return 语句发生在某个 try 块内,且有相应的 finally 块,那么 在该函数返回前将执行 finally 块中的代码。 如果函数是由于到达函数体结束处而不是因为执行return语句返回,则返回值为 undefined(表示该函数的结果无法作为大表达式的部分。 要改正此错误
- 从代码的主要部分中删除 return 语句。(全部范围)。
在循环外不能有 'break'
试图在循环外使用 break 关键词。break 关键词用来结束一个循环或 switch 语句。它必须位于循环体内或 switch 语句内。 例外 break 关键字后面可以带一个标签。 break labelname; 只有在嵌套式循环或 switch 语句中并且需要跳出的循环不是最内层循环时,才需要使用这种带标签形式的break 关键词。 要改正此错误
- 请确保 break 关键词位于封闭的循环或 switch 语句内。
在循环外不能有 'continue'
试图在循环外使用 continue 语句。只有在下述语句内才可以使用 continue 语句: - do-while 循环,
- while 循环,
- for 循环,
- for/in 循环。
要改正此错误 请确保 continue 语句位于下述语句的内部:
- do-while 循环,
- while 循环,
- for 循环,
- for/in 循环。
需要十六进制数
创建了一个不正确的 Unicode 转义序列。Unicode 转义序列以 \u 开头,后跟整整四位十六进制数(不多,也不少)。Unicode 十六进制数不仅包含数字 0-9,大写字母 A-F,还有小写字母 a-f。下面的示例演示了正确形成的 Unicode 转义序列。 z = "\u1A5F"; 要改正此错误
- 请确保 Unicode 十六进制数是以 \u 开头的,只包含数字0-9,大写字母 A-F、小写字母 a-f;并组成四个数字。
注意 如果希望在字符串中使用文字文本 t \u,请使用两个短斜杠 _(\\u) – 一个用来将第一个反斜杠转义。 需要 'while'
在 do … while 循环中没有包含 while 条件。一条 do 语句必须有相应的 while 测试。 要改正此错误
标签定义重复
创建新标签时给定的名称与现有标签名称重复。标签可以用来标记语句块,但在一个指定范围内必须是唯一的。 要改正此错误
- 请确保程序中所使用的所有标签在名自的作用域内都是唯一的。
未找到标签
所引用的标签不存在。标签可用来标记代码块,不过必须在特定范围内,而且必须唯一。 要改正此错误
- 确认没有拼错标签名称。
- 确保所有标签所引用的都是在当前作用域内定义过的标签(包括在作用域之前所做的定义)。
一条 'switch' 语句中只能有一个 'default'
在一个 switch 语句中试图使用多个 default 语句。Default分支总是位于 switch 语句的最后一个分支语句(也就是匹配失败的情形)。 要改正此错误
- 从 switch 语句中删除任何多余的default 分支语句(在switch 语句中使用了多个default 语句)。
需要标识符、字符串或者数字
使用了不正确的文字语法来声明对象文字。对象文字的属性必须是标识符、字符串或一个数。对象文字(也称为“对象初始化程序”)由用逗号分割的属性:值对组成,所有值对都用括号括起来。例如: var point = {x:1.2, y:-3.4}; 要改正此错误
需要 '@end'
试图创建一个条件编译的代码块,但在最后没有@end 语句。通过把JScript 语句放在 @if/@end 块内,可以实现条件编译。 要改正此错误
条件编译已关闭
在没有先启用条件编译的情况下试图使用条件编译变量。打开条件编译将告诉 JScript 编译器要解释那些以 @ 开头作为条件编译变量的标识符。使用下面的语句作为条件代码的起始语句就可以打开条件编译: /*@cc_on @*/ 要改正此错误
- 在条件代码的起始处添加下面的语句:
- /*@cc_on @*/
需要常数
试图在条件编译测试语句中使用一个(非条件编译)变量。条件编译测试语句的值必须为一个常数。 要改正此错误
需要 '@'
试图使用 @set 语句创建一个用于条件编译语句的变量,但在变量名称前没有 @ 符号。 要改正此错误
- 立即在变量名之前添加一个 @ 符号。例如:
@set @myvar = 1
需要 'catch'
使用了处理异常的try 语句块,但没有些相应的 catch 语句。异常处理机制需要将那些可能失败的代码,连同当异常发生后不会执行的代码一起,包在一个 try 语句块中。发生异常时通过使用 throw 语句将异常从 try 语句块中抛出,并被 try 语句块外的一个或多个catch 语句抓获。 要改正此错误
- 添加相应的 catch 语句块。
- 试试使用 finally 语句块而不使用 catch语句块。
Throw 的后面跟有一个表达式,且在同一源代码行上
使用了 throw 关键字,但在同一行内没有紧接一个表达式。一个 throw 语句由两部分组成:throw 关键字,后面紧跟待抛出的表达式。例如; if (denominator == 0) { throw new DivideByZeroException(); } 不能将这两个组件分成两行。 要改正此错误
- 请确保 throw 关键字和待抛出的表达式在同一行。
|