微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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返回后添加分号.

原文地址:https://www.jb51.cc/js/156959.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐