作用域优化时变量提升到底该怎么处理?

技术若彤 阅读 35

我在重构一个老项目,想通过作用域优化减少全局变量污染。但发现把函数内部的变量用 let 提前声明后,有些逻辑反而报错了,比如访问不到之前在 if 块里定义的变量。

我试过把所有变量都提到函数顶部用 let 声明,但又担心这样失去了块级作用域的优势。是不是我理解错了“作用域优化”的正确做法?

function handleData() {
  if (condition) {
    let temp = fetchData();
    process(temp);
  }
  // 后面还想用 temp,但这里报错
  console.log(temp);
}
我来解答 赞 4 收藏
二维码
手机扫码查看
暂无解答

暂无解答