From c4eeb404349d10e18e5d379e14b97bcf4e84b510 Mon Sep 17 00:00:00 2001 From: xuwu Date: Wed, 31 Mar 2021 07:42:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=2017=20=E7=AD=94=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Answer/11-20/17.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Answer/11-20/17.md diff --git a/Answer/11-20/17.md b/Answer/11-20/17.md new file mode 100644 index 0000000..4bcd3e3 --- /dev/null +++ b/Answer/11-20/17.md @@ -0,0 +1,14 @@ +```js +var a = 0 +var b = async () => { + a = a + await 10 + console.log('2', a) // -> ? +} +b() +a++ +console.log('1', a) // -> ? +``` + +这道题目大部分读者肯定会想到 `await` 左边是异步代码,因此会先把同步代码执行完,此时 `a` 已经变成 1,所以答案应该是 11。 + +其实 `a` 为 0 是因为加法运算法,先算左边再算右边,所以会把 0 固定下来。如果我们把题目改成 `await 10 + a` 的话,答案就是 11 了。 \ No newline at end of file