背景介绍
uniapp最新版中有vite插件能动态生成page.json,这样省事很多,不用每次在分包内加页面都得再去路由添加。但已有小程序项目中,有不少是vue2项目,无法使用vite打包,所以打算看看uniapp源码,想看看如何让vue2项目也能自动生成page.json
在打算瞎看一通时,发现了一个另类写法
这乍一看好像能理解,传参并调了一个函数,但怎么都没写function,()+()就行了???
解惑
遇事不决,先问问ai
这么神奇,居然还有这种特殊语法,虽然ai在这里解释得已经比较清楚了,但本着多方参考得习惯,又查了一下MDN
什么??for循环?就是平时经常for循环用到得那个?(一直以为是固定语法格式欸)
mdn给了个循环的例子,试了试,确实这样(这里又了解到了Array.from的一点妙用)
扩展学习(易错点)
优先级和结合性
分组(Grouping) 具有最高优先级。然而,这并不意味着总是优先对分组符号 ( … ) 内的表达式进行求值,尤其是涉及短路时。
a || b * c; // 首先对 `a` 求值,如果 `a` 为真值则直接返回 `a`
a && b < c; // 首先对 `a` 求值,如果 `a` 为虚值则直接返回 `a`
a ?? (b || c); // 首先对 `a` 求值,如果 `a` 不是 `null` 或 `undefined` 则直接返回 `a`
a?.b.c; // 首先对 `a` 求值,如果 `a` 是 `null` 或 `undefined` 则直接返回 `undefined`
3 > 2 && 2 > 1;
// 返回 true
3 > 2 > 1;
// 返回 false,因为 3 > 2 是 true,然后 true 会在比较运算符中
// 被隐式转换为 1,因此 true > 1 会变为 1 > 1,结果是 false
// 加括号可以更清楚:(3 > 2) > 1