1. 首页 > 快讯

js var let const的区别(var和let区别)

瓦尔

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 变量,因为它不在全局范围内。我们不能在同一块内重新声明变量,但可以在块外重新声明它。

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/8027.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666