(二) 变量的声明方式

本节知识点

  • 变量的新的声明方式
  • let
  • const

概述变量声明的三种方式

  • var 就是变量的意思 可以来回定义。后面会覆盖前面
  • let 也是变量的意思
  • const 常量。一次声明后就不能改变了
  • 无论是let还是const只能声明一次不能多次否则会报错误
let a = 3;
let a = 4;
console.log(a);

这样就会直接报错误

var 变量的声明方式

  • var

在ECMA5 里面他利用var 做了全局提升。也就是var 变成了全局变量。无论是匿名函数还是区块话他都可以调用
举例子

var a = "Hello";
function text(){
console.log(a);
}
text();

这样的结果也是能出来的。结果就是hello 可见var是全局声明的

  • let 局部声明

举例子

var a =2;
function test(){
 let a=3;
}
console.log(a); /* 结果就是2*/

在来一个例子

{
 let a =3;
}
console.log(a);  /*这样就直接报错误了。因为let出不来*/

let 只能在区块里声明,不在外部声明。我们打印a的时候就是报错。显示找不到变量

let 的作用非常好,他就是怕污染全局变量的。举个例子
for(var i=0;i<3;i++)
{
    console.log("循环体中"+i);
}
console.log("循环体外"+i);

结果就是

循环体中0
循环体中1
循环体中2
循环体中3

这样你就会发现循环体外的变量贝污染了,如果在外部调用就会出现问题。但是我们用let就不用出现这个问题

for(let i=0;i<3;i++)
{
    console.log("循环体中"+i);
}
console.log("循环体外"+i);

这个时候控制台就报错误了。找不到这个变量了。我们要努力去使用let来声明,这样不会污染全局变量

for(let i=0;i<3;i++)
{
    function a (){
        console.log(i);
    }
    a();
}

这样也能console.log出来。想想选项卡的传值,这样是不是简单多了。

  • const 声明常量

在程序开发中,有些变量从声明还是就始终不会变化。所以就需要const来声明

 const a = "测试一";
var a = "测试二";
 console.log(a);

这样程序就会报错误,因为const常量不能改变

你可能感兴趣的:((二) 变量的声明方式)