教程4-7中的疑问

来源:4-7 票据 access_token 的获取和请求封装

jayleke

2018-10-14

请教下老师同学,在4-7课程中看到老师有一段的写法不是很明白,请教下

;(async function () {
    const client = new Wechat(wechatConfig.wechat)
})()

以分号开头,两对小括号这种写法能不能讲解下,一般什么情况下这么写

写回答

2回答

Scott

2018-10-15

分号,是为了保险起见,不跟它前面的代码连在一起导致可能的执行错误。


重点是 (function(){})(),这种写法,其实就是让这个函数不需要经过显式调用就可以自动原地执行,一般希望 JS 文件代码加载就默认执行的任务,会采用这种写法,同时它跟这种 (function(){}()) 作用是等同的,就是一个匿名函数后面,直接跟一个 (),就表示要对之前的表达式立刻开始运行,这就是 () 的作用了

0
0

Craig_Z

2018-10-14

立即执行函数

但是;我也是第一次见……不知道是手误还是什么

0
1
derek__
主要是为了防止在代码压缩后,匿名自执行函数与前一段代码被误认为是一条整体语句执行。
2018-10-15
共1条回复

Koa2实现电影微信公众号前后端开发

从零开始, 打造智能微信公众号及网站前后台,打通两端能力共享系统底层。

229 学习 · 70 问题

查看课程