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

请假设’使用严格’;并且还假设,JSLint已启用且无法忽略错误.

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

例如.:

var i = 0,j = 1,someLongVariablename1,someLongVariablename2,someLongVariablename3,someLongVariablename4;

 if( (
     'dcr' === cmd
      && (action)
      && ('get' === actionHttp || 'post' === actionHttp )
      && whatever
   ) { ... }

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

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

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

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

解决方法

不幸的是,strict mode并没有禁用 automatic semicolon insertion的恐怖,所以“坏”换行仍然是一个问题.例如:
(function() {
  "use strict";

  console.log(foo());

  function foo() {
    var a = 1,b = 2;

    return
    a + b;
  }
})();

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

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...