Var、Let 和 Const
瓦尔
var a = 11; { var a = 8; }; console.log(a);// 8 ------------------------------------------------------------------------- var a = 11; { a = 28; }; console.log(a);// 28
用var声明的变量在全局范围内。我们甚至可以在块外访问 var 变量,因为它不是块作用域的。此外,我们可以在块内部和外部重新声明和重新分配 var 变量。
让
{ let a = 24; } console.log(a);// referenceerror: a is not defined ------------------------------------------------------------------------- { let a = 24; console.log(a);// 24 } ------------------------------------------------------------------------- { let a = 24; a = 20; console.log(a);// 20 }// ------------------------------------------------------------------------- { let a = 24; let a = 20; console.log(a);//syntaxerror: identifier 'a' has already been declared } ------------------------------------------------------------------------- let a = 20; { let a = 24; console.log(a);// 24 }
let有独立的内存空间和块作用域。用let声明的变量不能在块外访问,因为它们不在全局范围内。我们可以重新分配一个 let 变量。但是,我们不能在同一个块中重新声明相同的变量,但我们可以在不同的块中重新声明它。
常数
{ const x = 4; } console.log(x);//ReferenceError: x is not defined ------------------------------------------------------------------------- { const x = 4; console.log(x) ;// 4 } ------------------------------------------------------------------------- { const x = 4; const x = 2; } console.log(x);//SyntaxError: Identifier 'x' has already been declared ------------------------------------------------------------------------- { const x = 4; } const x = 2; console.log(x);// 2 ------------------------------------------------------------------------- const x = 2;// we can access the global(x) { const x = 4; // we cannot access the outside block } console.log(x);// 2
const有独立的内存空间,并且是块作用域的。一旦用 const 声明并初始化一个值,就不能重新声明或重新分配它。我们无法在其块之外访问 const 变量,因为它不在全局范围内。我们不能在同一块内重新声明变量,但可以在块外重新声明它。
以上就是Var、Let 和 Const的详细内容,更多请关注硕下网其它相关文章!