提问者:小点点

无法在Javascript控制台中重新定义已声明的变量


为什么我可以在浏览器控制台(比如Chrome)中重新定义一个变量,而不能在我的笔记本电脑(Mac)上的终端控制台(节点)中重新定义。

终端节点控制台:

> let varA = varB;
< Uncaught ReferenceError: varB is not defined
> let varB = "bla";
> let varA = varB;
< Uncaught SyntaxError: Identifier 'varA' has already been declared
> varA
< Uncaught ReferenceError: varA is not defined


//dropping let
> varA = varB;
< Uncaught ReferenceError: Cannot access 'varA' before initialization

Chrome控制台:

> let varA = varB;
< VM510:1 Uncaught ReferenceError: varB is not defined
    at <anonymous>:1:12
(anonymous) @ VM510:1
> let varB = "bla";
< undefined
> let varA = varB;
< undefined
> varA
< "bla"

共2个答案

匿名用户

你不能重新声明它。 这个名字在这个上下文中已经知道了。 如果要给它一个新值,只需放弃let,也要放弃vara=varb;

匿名用户

在javascript控制台中,每当您用letconst声明一个变量时,它将永久存储在控制台的该选项卡的内存中。
这是因为Let关键字没有使用它释放变量声明。 而在VAR中,每次当程序给出当时的输出时,VAR将释放所有变量的分配。

相关问题