JavaScript if-else 速记错误
JavaScript if-else shorthand error
这有效
if(a != "") {
$('.a').css('background','red');
}
但这个速记没有
a != "" ? $('.a').css('background', 'red');
我得到了:
令牌
;
意外结束的错误
,您不希望出现else
情况,并且shorthand
一定不能没有?, :
运算符!
因此,这也是一种选择:
a != "" && $('.a').css('background', 'red');
只有在a != ""
时才会调用$('.a').css('background', 'red');
。这称为短路。
在这种情况下,它并不常用,你真的不应该写这样的代码。我会建议这种方法:
if(a != "") $('.a').css('background','red');
或更好 :
if(a != "") { $('.a').css('background','red'); }
您应该始终编写可读的代码;
如果您担心文件大小,只需在数千个 JS 压缩器之一的帮助下创建它的缩小版本。(看看谷歌的闭包编译器(
速记
如果那么
这使用 &&
a != "" && $('.a').css('background', 'red');
当一端的计算结果为 true 时,另一端将运行。
如果不是这样
这样做的语法是 IF?然后:否则
a != "" ? $('.a').css('background', 'red') : $('.a').css('background', 'blue');
你不能简单地"遗漏"其中的一部分
问题
您使用的速记是 IF THEN ELSE。您将其视为 IF ELSE。若要解决此问题,请改用以下代码:
a != "" && $('.a').css('background', 'red');
当你省略另一边是一个 If else 那么语句时,它类似于写
if (a != "") {
$('.a').css('background', 'red')
} else
编译器期望一个:
来表示速记的下一部分,但它看到了一个;
更多
我不鼓励你编写缩小的代码,因为它令人困惑且难以阅读和修改。我建议使用在线压缩器,例如 jscompress.com。要编写干净整洁的代码,请将其写出来
if (a !== "") {
$('.a').css('background', 'red');
}
这样可以清楚地看到您在做什么,不易出错,并且更易于编辑。
如果你想学习良好的编码实践,请查看JSLint(不是JSHint(。
我从这里学会了速记
您正在尝试使用以下形式的三元表达式:
(condition) ? (foo) : (bar);
这是
if (condition) {
// do whatever foo is
} else {
// do whatever bar is
}
如果使用此语法,则必须为else
条件提供一些内容(在上述情况下,bar
(。
我认为你想做的是:
a != "" && $('.a').css('background', 'red');
只有在a != ""
时才会运行$('.a').css('background', 'red');
.这被称为(正如维克兰特指出的(短路评估。
引用:
- 三元表达式:MDN 文档:条件运算符
- 短路评估:MDN 文档:逻辑运算符
这个怎么样...希望我没记错,比缩小器做得更好。
a !== "" && $('.a').css('background','red');
- JavaScript if-else 速记错误
- 由 if / else 语句中的无效语法导致的语法错误
- JavaScript IF/ELSE错误-应为标识符
- 未捕获的语法错误:if/else上的意外标识符
- Javascript if/else语法错误
- Javascript if else语句OR条件错误
- 使用 If else if else 语句得到错误
- JavaScript 和 if-else 函数的新手.(控制台日志中没有错误消息)
- JavaScript If else 语句错误
- 语法错误:If else三元运算符中的ES6开关大小写
- ajax调用错误处理函数或if-else语句
- if, else if, and else"我的代码条件被错误读取
- Adobe Javascript If/Else下拉列表错误
- If/else If/else错误-意外标识符
- “If"“else"语句有语法错误
- 错误消息不显示和隐藏取决于if else语句
- If, If else语句产生错误消息
- if-else Javascript语句的语法错误
- 未添加/减去正确金额的值以及if/else语句错误
- 语法错误- if/else语句