javascript – “使用严格”是否“坏线打破”已过时?

前端之家收集整理的这篇文章主要介绍了javascript – “使用严格”是否“坏线打破”已过时?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请假设’使用严格’;并且还假设,JSLint已启用且无法忽略错误.

我发现运算符和’,’启动列表更具可读性,

例如.:

  1. var i = 0,j = 1,someLongVariablename1,someLongVariablename2,someLongVariablename3,someLongVariablename4;
  2.  
  3. if( (
  4. 'dcr' === cmd
  5. && (action)
  6. && ('get' === actionHttp || 'post' === actionHttp )
  7. && whatever
  8. ) { ... }

因此我的问题是:
用“严格使用”是否“坏线断裂”已经过时了?

编辑:’使用严格’;不会阻止执行坏线破坏代码.它可以防止执行某些错误.

我看到JSLint和JSHint以不同的方式处理坏的断行. JSHint对我喜欢的语法更友好.

这样,对于正在研究这个问题的其他人来说,可能是一个解决方案.

解决方法

不幸的是,strict mode并没有禁用 automatic semicolon insertion的恐怖,所以“坏”换行仍然是一个问题.例如:
  1. (function() {
  2. "use strict";
  3.  
  4. console.log(foo());
  5.  
  6. function foo() {
  7. var a = 1,b = 2;
  8.  
  9. return
  10. a + b;
  11. }
  12. })();

Live Example | Source(你需要打开控制台并查看它)

仍然记录undefined而不是3,因为ASI启动并在foo返回后添加分号.

猜你在找的JavaScript相关文章