if ( true && true ||
false && false ||
true && true ) {
console.log( 'Splitting condition into multiple lines worked!' );
}
以上的代码片段在所有相关的浏览器中都能工作吗?
PS:我也关注IE8,因为它在今天有着太大的市场份额而不能忽视。
if ( true && true ||
false && false ||
true && true ) {
console.log( 'Splitting condition into multiple lines worked!' );
}
以上的代码片段在所有相关的浏览器中都能工作吗?
PS:我也关注IE8,因为它在今天有着太大的市场份额而不能忽视。
在条件语句中,浏览器对于空格和换行符是非常包容的。你可以诚实地使用很多东西(无论好坏)。目前这两种格式是行业标准。个人而言,我更喜欢第二种语法。
语法A
if (
a === 123 &&
b === 'abc'
) { ... }
语法 B
if (
a === 123
&& b === 'abc'
) { ... }
AirBnb偏爱的语法:https://github.com/airbnb/javascript/issues/1380
与空格字符类似,行终止符字符用于提高源代码的可读性,并将标记(不可分割的词法单元)彼此分开。但是,与空格字符不同的是,行终止符对语法文法的行为有一定影响。通常情况下,行终止符可以出现在任何两个标记之间,但在一些情况下,它们被语法文法禁止使用。行终止符也会影响自动分号插入 (7.9)的过程。
某些 ECMAScript 语句(空语句、变量声明语句、表达式语句、
do-while
语句、continue
语句、break
语句、return
语句和throw
语句)必须以分号结尾。这样的分号可以始终明确地出现在源代码中。然而,为了方便,在某些情况下,这样的分号可以从源代码中省略。这些情况被描述为在这些情况下,分号会自动插入到源代码标记流中。
因此,在大多数情况下,您可以做到这一点。而您的情况就是其中之一。
我最近遇到了一个非常长的条件语句。以下是我使用 Boolean() 解决它的示例:
const a = new Array('', ' ', ' ');
const empty = Boolean(a[0].trim() == '' ||
a[1].trim() == '' ||
a[2].trim() == '' ||);
if (!empty){
console.log("Fine!");
}else{
console.log("Not fine!");
}
我希望我能帮助你。
if
语句条件中忽略空格(不自动添加分号)。 - dandavis