时间:2019-05-04 来源:小程序工厂
我以前也发现了,
所以最好加 ; 号吧,
不然会莫名其妙的
最好应该是改编译器。不改,就索性不要允许有些行可以尾部省略分号,有些行却竟然不行…
console.log("I am here")
就是这种,一旦有换行符(且无续行符),编译器就理应能够正确解析成为两句,而不是推给“歧义性”
我是从IDE压缩js文件里找到的, 它将那两行代码合并成一行, 但不是混淆
那其实意味着,IDE的压缩步骤可以改善为在有必要的地方添加“;”号、而不是只为缩短长度无脑压缩。
另外发现,这种数组赋值虽然语法上是允许的,但Chrome V8引擎内部好像也错误地进行了压缩合并、而导致运行时错误…(用node.js测了相同代码)
鉴于微信小程序在安卓上也是用的V8来解释JavaScript,这就情有可原了……
你好,对于这类有歧义的代码,请主动加上分号规避。
但我不认为这属于“歧义”,有明确的换行符、而无续行符的情况下,这应该要被编译器看作两句语句的…
这里的换行符和空格不影响歧义的吧……而分号就是用来分隔语句的啊
看不懂你想表达的逻辑...只重述一遍事实:
分号理应可以省略;只在确实有歧义的地方、我同意不可省略分号
我所引用的代码,并不属于“确实有歧义”;因为两句之间是有换行符而无续行符的,足以被用作分隔语句
基于1、2,我所引用的代码,不存在歧义,却被错误编译了,这就是问题
(您若不是微信官方人员的话,就请等官方人员分析原因后再看吧)
,你好,所提供的代码片段无法正常运行,请重新提供
你好,可能是本地目录结构变化导致?(原以为代码片段会被压缩上传到云端,不受后续编辑影响的呢)
再次分享后得到的链接,请检验:wechatide://minicode/WWRBnjmG7wnW
还是运营不了。请按照教程提供:https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
真没办法…看教程发现步骤并没错(难道是又发现了代码片段导出的Bug了么…)
一个一个解决先,
这个问题的代码截图如下: