如果条件将长 JavaScript 拆分为多行是否安全
Is it safe to split long JavaScript if conditions into multiple lines?
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.3 线路终结器
与空格字符一样,行终止符字符用于 提高源文本的可读性并分隔标记(不可分割( 词汇单位(彼此之间。但是,与空白不同 字符、行终止符对 句法语法。通常,线路终止符可能发生在 任何两个令牌,但有几个地方是禁止它们的 句法语法。线路终止符也会影响 自动分号插入 (7.9(。
7.9 自动插入分号
某些 ECMAScript 语句(空语句、变量语句、 表达式语句,
do-while
语句,continue
语句,break
语句、return
语句和throw
语句(必须是 以分号结尾。这样的分号可能总是出现 在源文本中明确。然而,为了方便起见,这样的 在某些情况下,源文本中可以省略分号。 这些情况是通过说分号是 自动插入到源代码令牌流中 情况。
所以在大多数情况下,你可以做到。你的案例就是其中之一。
我最近也发现自己有一个很长的病情。下面你会发现一个我如何使用布尔((解决它的示例:
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!");
}
我希望我能帮助你。
相关文章:
- 当eval只执行服务器端数据时,在javascript中使用eval是否安全
- 假设浏览器渲染为60 fps是否安全
- 如果条件将长 JavaScript 拆分为多行是否安全
- 如何检测在 Javascript 中使用“in”运算符是否安全
- 为用户应用程序托管 javascript 文件是否安全
- 使用AngularJS是否安全
- 在JavaScript源代码中使用UTF-8字符文字是否安全
- 每隔1秒调用一次jQueryajax是否安全
- 使用Ajax提交表单是否安全
- 重新触发Javascript事件是否安全
- 使用for.of迭代时删除集合中的元素是否安全
- jQuery(userInput)对最终用户来说是否“安全”
- JavaScript 在表单中注入密码是否安全
- 如果没有其他用户会看到未转义的用户输入,渲染它是否安全
- 是否安全应用是最佳实践
- 使用 Restangular 使用 RESTful API - RESTful API 将数组作为顶级对象返回是否安全
- 网络套接字是否安全
- 在循环时修改数组是否安全
- HTML 文本框值属性是否安全免受 XSS 攻击
- 在 JavaScript 中依赖全局本机对象是否安全,尤其是 Object 对象