wxs语法对多层嵌套的if else简写可以增加支持吗?

发布于 7 年前作者 qinming14796 次浏览最后编辑 7 年前来自 issues
 var commonText = function (e, t, a{
    var n = "";
    if (1 == t) {
      n = 5
    } else if (2 == t)
        if (a)
            for (var i = 0; i < a.length; i++) {
                var o = a[i];
                if (o == 2) {
                    n += o;
                    break
                }
            }
        else n = 4;
    else 3 == t && (n = 66);
    return n
  }

这段代码 在wxs中执行 会报错  SyntaxError: Unexpected token 'else'
在浏览器是支持这种写法的,运行正常
这个代码是压缩过的,压缩前的代码带括号是没问题的,主要是包大小不够只能对项目代码进行压缩。

不用讨论用什么方式解决!!!
不用讨论用什么方式解决!!!
不用讨论用什么方式解决!!!
解决的方式有N种,这里只是单纯咨询官方是否考虑支持这种逻辑的语法

6 回复
guiyingmeng
guiyingmeng1 楼5 年前

看来这阉割版的js解析得有问题啊~

xia68
xia682 楼5 年前

可以换其他方式就不会有这个问题(比如语法换一种,加括号,或者是 for改成map 或者 forEach 等等),所以这里只单纯看语法哈,不用看为什么 这么写逻辑… 这个逻辑精简过。

fluo
fluo3 楼5 年前

你都报错了那肯定是不支持的。纠结什么呢?是跟朋友打赌呢吗还是咋的。

yong42
yong424 楼5 年前

加个大括号会死啊?

hujie
hujie5 楼5 年前

我觉得wxs的设计就不是处理复杂逻辑,复杂的逻辑应该在js内处理,是可以处理简单的判断条件

xiulanding
xiulanding6 楼5 年前

分包它不香嘛