01、ES6 变量的扩展

来源:互联网 发布:case when sql server 编辑:程序博客网 时间:2024/06/05 14:44

1. let 在es6新的声明变量的关键字

1)没有预解析(不会像var那样提前去找到这个变量保存起来,然后再调用,也就是let必须先声明后使用

  console.log(aa);
  let aa = 1;

说明:如果let变量放在调用之后,将报如下错:


 2) 不允许重复声明

 let aa = 1;
    let aa = 2;
   console.log(aa);

说明:如果重复声明会报如下的错:


3)块级作用域

   {
        let aa = 1;
    }
    console.log(aa);

说明:在块外面调用,将报如下错:


应用小案例:

   for (var i=0;i<3;i++){
        setTimeout(function (){
            console.log("var i = "+i);
        })
    }/*这里实际上for循环执行的时间比setTimeout要长,所以最后打印出3个3*/


    for (let i=0;i<3;i++){
        setTimeout(function (){
            console.log("let i = "+i);
        })
    }/*实际上for后面的{}形成了一个作用域,每一次都是一个单独的作用域*/

运行结果:


2.const在es6新的声明变量的关键字

1)  常量 固定的值 不能被修改
const b=1;
b=2;

 2) 对象obj 属性可以修改的

    const a = {
        name : "chongqing"
    };
    a.name = "beijing";/*如果是一个常量对象,他的属性的值是可以修改的*/
    console.log(a);

















0 0
原创粉丝点击