我在玩express时发现了一些意想不到的事情。这是我的代码:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('response string');
console.log(data)
});
const data = {
key: 'value'
};
app.listen(3000, () => console.log('Quote API listening on port 3000!'));
这将打印//{key:"value"}
我的意思是,由于提升(?(,函数以这种方式工作,但变量不应该。正如标题所示,变量"data"在声明之前是如何在行中访问的?
传递给get
的函数被调用之前,它不会被访问……这是在声明常量之后(即收到对/
的GET请求时(。
与吊装无关。