在函数中声明 const 不会抛出错误?
Declaring const in a function do not throw error?
为什么我们可以在函数中声明一个const并多次调用该函数而不会出错
Uncaught SyntaxError: Identifier 'newTab' has already been declared
每次调用这个函数都是在创建一个新的常量?
代码说明:
function foo() {
const newTab = [123]
console.log(newTab);
}
谢谢各位大侠指教:)
每个函数调用都会创建一个新块(由于javascript是解释型语言并逐行运行代码,因此每个函数调用都会创建一个本地执行上下文,恰好是函数所在的位置gets invoked) in memory (最后一个将在垃圾收集阶段被删除),因此 const newTab
的每个实例都与前一个实例分开。由于定义 const
元素的性质,它似乎应该抛出一个错误,但由于最后一个被删除并且一个新的在新的内存块中,所以它不会抛出任何错误。
function foo() {
const newTab = [123];
console.log(newTab);
}
foo();
foo();
foo();
实际上你的代码工作正常,我看不到任何错误,你怎么称呼它?每次调用 const newTab 都将在所有变量隔离的本地执行上下文中创建
为什么我们可以在函数中声明一个const并多次调用该函数而不会出错
Uncaught SyntaxError: Identifier 'newTab' has already been declared
每次调用这个函数都是在创建一个新的常量?
代码说明:
function foo() {
const newTab = [123]
console.log(newTab);
}
谢谢各位大侠指教:)
每个函数调用都会创建一个新块(由于javascript是解释型语言并逐行运行代码,因此每个函数调用都会创建一个本地执行上下文,恰好是函数所在的位置gets invoked) in memory (最后一个将在垃圾收集阶段被删除),因此 const newTab
的每个实例都与前一个实例分开。由于定义 const
元素的性质,它似乎应该抛出一个错误,但由于最后一个被删除并且一个新的在新的内存块中,所以它不会抛出任何错误。
function foo() {
const newTab = [123];
console.log(newTab);
}
foo();
foo();
foo();
实际上你的代码工作正常,我看不到任何错误,你怎么称呼它?每次调用 const newTab 都将在所有变量隔离的本地执行上下文中创建