ES6的常用语法

扫码查看

letconst的使⽤

es5中使用var来声明全局变量

es5中我们学习了使用var来声明变量,但是使用var声明变量,会存在变量提升的问题。即变量可以在声明之前使用,值为undefined

栗子1:

    console.log(a);  // var 的结果:undefined-->变量提升
    {
        var a = 2;
        console.log(a);  // 2
    }
    console.log(a);  // var 的结果:2-->变量提升

//在js中一个{},称为作用域,使用var声明变量,会存在变量提升的问题。
//什么是变量提升呢?当解析脚本的时候,当在脚本中遇到var声明的变量,会将 var a;提到最上面去声明。从而导致此问题。由此也会使,a是一个全局的变量
//上面的在局部作用域声明并赋值给a=2,相当于这样将a声明为一个全局作用域的变量,然后在局部作用域对a赋值为2.

		var a;  //声明全局变量
		console.log(a);  // var 的结果:undefined
    {
        a = 2; // 在局部作用域对全局变量的a赋值
        console.log(a);
    }
    console.log(a);  // var 的结果:2

  

12-14 09:32
查看更多