首页 > 解决方案 > 在函数中声明 const 不会引发错误?

问题描述

为什么我们可以在函数中声明一个const并多次调用该函数而不会出错

未捕获的 SyntaxError:标识符“newTab”已被声明

每次调用函数时都会创建一个新的常量?

代码说明:

function foo() {
  const newTab = [123]
  console.log(newTab);
}

谢谢有人能启发我:)

标签: javascriptscope

解决方案


每个函数调用都会在内存中创建一个新块(因为 javascript 是解释性语言并逐行运行代码,因此每个函数调用都会在调用函数的位置创建一个本地执行上下文)(最后一个将在垃圾收集阶段),因此每个实例const newTab都与前一个实例分开。由于定义元素的性质,它似乎应该抛出一个错误const,但由于最后一个被删除并且一个新的在新的内存块中,所以它不会抛出任何错误。

注意:本文和此视频可能会帮助您了解有关本地执行上下文的更多信息


推荐阅读