如代码片段所示,第一句如果不以";"结尾,第二句如果以"["起头(做ES6的数组解构赋值),就能再现异常。

编译器会把第一句当成一个数组Object,第二句当成从该数组Object中取某个元素,然后就华丽丽地奔溃了…

第一句末尾加上";"结尾,就能使问题消失。


个人判断是编译器缺陷。

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Reid

    20人对此回答表示赞同

    对于这类有歧义的代码,请主动加上分号规避。

    展开
    20
    3回复
    发布于 6年前

    评论(3)

    收起评论

    • 柠檬蛋挞 2019-02-14 23:42

      看不懂你想表达的逻辑...只重述一遍事实:

      回复
    • Tabitha 2019-02-16 22:50

      这里的换行符和空格不影响歧义的吧……而分号就是用来分隔语句的啊

      回复
    • Joshua 2019-02-19 00:31

      但我不认为这属于“歧义”,有明确的换行符、而无续行符的情况下,这应该要被编译器看作两句语句的…

      回复
  • Addison

    18人对此回答表示赞同

    我以前也发现了,

    展开
    18
    5回复
    发布于 6年前

    评论(5)

    收起评论

    • 杏仁糖 2019-02-12 22:13

      那其实意味着,IDE的压缩步骤可以改善为在有必要的地方添加“;”号、而不是只为缩短长度无脑压缩。

      回复
    • Alexander 2019-02-14 22:11

      我是从IDE压缩js文件里找到的,它将那两行代码合并成一行,但不是混淆

      回复
    • 火山飞灰 2019-02-16 11:01

      就是这种,一旦有换行符(且无续行符),编译器就理应能够正确解析成为两句,而不是推给“歧义性”

      回复
    • 吴语 2019-02-18 10:32

      像上面这样

      回复
    • fjbiubiubiu 2019-02-20 18:27

      最好应该是改编译器。不改,就索性不要允许有些行可以尾部省略分号,有些行却竟然不行…

      回复
  • 断桥残雪

    9人对此回答表示赞同

    展开
    9
    3回复
    发布于 6年前

    评论(3)

    收起评论

    • 春暖花不开 2019-02-16 20:45

      真没办法…看教程发现步骤并没错(难道是又发现了代码片段导出的Bug了么…)

      回复
    • Roman抽 2019-02-18 13:54

      还是运营不了。请按照教程提供:

      回复
    • Charles 2019-02-20 08:17

      可能是本地目录结构变化导致?(原以为代码片段会被压缩上传到云端,不受后续编辑影响的呢)

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部