您没有提供太多的上下文,但这一部分是可疑的,原因有两个:
if(isNullOrUndefined(x.value) && isNullOrUndefined(x.value2))
{
x.minMark + '-' + a+ '*'
+ x.b+ ' ' + '+' + ' ' + x.c+ ' '
+ val+ '+' + ' ' + '*' + x.s
+ ' ' + '+' + ' ' + ' ' + ' ' + x.val4
}
-
由于自动插入分号,您总是希望
+
在前一行的末尾而不是下一行的开头,因为在下一行的开头它可以是一元加号运算符。对于ASI,如果在行尾添加分号不会使语法无效,通常会添加分号(但并不总是这样,规则稍微复杂一些)。
-
这里有一个表达式语句(一系列的加法),它的结果从来没有用于任何东西。也许你想用
x.minMark =
x.minMark +=
或者别的什么而不是
x.minMark +
.
安
表达式语句
是用作语句的表达式。JavaScript是
轻微地
不寻常的是它有(几乎)无限的
expression statement
(
表达式可以用作语句,而不是一些边缘情况(这些情况可能不明确,并且必须包装在括号表达式中),不像其他一些语言(包括Java)那样
limited ones
只允许某些表达式(如方法调用)成为语句。