zoukankan      html  css  js  c++  java
  • es6 学习笔记(let 、const)

    1、 let 命令:用来声明一个变量,和 var 相似

    2、const 命令 : 用来声明一个常量,常量就是不可以变化的量

    用 let 声明变量的注意事项 : 

    1、 用 let 声明的变量,只在变量声明的代码块内有效

    {
        let a = 1;
        var b = 2;
        console.log(a);         // 1
    }
    console.log(b);         // 2
    console.log(a);         // a is not defined

    2、用 let 声明的变量,在域解析的时候不会提前

    console.log(a);
    var a = 3;              // undefined
    console.log(b);          // Uncaught ReferenceError: b is not defined
    let b = 5;
    typeof c;
    let c = 10;         // c is not defined
    let f = 10;
    
    function fn() {
        f = 7;    
        let f = 2;
    }
    fn();      // Uncaught ReferenceError: f is not defined

    3、let 不允许在同一个作用域下声明已经存在的变量

    var a = 10;
    let a;      // Uncaught SyntaxError: Identifier 'a' has already been declared
    let b = 10;
    let b = 6;      // Uncaught SyntaxError: Identifier 'b' has already been declared
    var btns =  document.querySelectorAll("button");
    
    for(var i = 0; i < btns.length; i++){
        btns[i].onclick = function () {
            console.log(i);             // 点击左右按钮都是 5
        }
    }

    方法一 : 采用立即执行函数

    var btns =  document.querySelectorAll("button");
    
    for(var i = 0; i < btns.length; i++){
        (function (i) {
            btns[i].onclick = function () {
                console.log(i);
            }
        })(i)      
    }

    方法二:

    var btns =  document.querySelectorAll("button");
    
    for(var i = 0; i < btns.length; i++){
        btns[i].index = i;
        btns[i].onclick = function () {
            console.log(this.index);
        }
    }

    方法三 : 使用 let 来声明变量 ,在循环语句之内是一个父作用域,在循环体之中是一个子作用域

    var btns =  document.querySelectorAll("button");
    
    for(let i = 0; i < btns.length; i++){
        btns[i].onclick = function () {
            console.log(i);
        }
    }

    const 

    1、const 声明的常量只在其所在的代码块内有效

    2、const 声明的常量不会被提升

    3、const 命令不能声明已经被声明的常量或者变量

    4、const 声明常量的时候必须要赋值

    5、const 声明的常量存储的是简单的数据类型时不可改变其值,如果储存的是对象,那么引用不可以被改变,至于对象里面的数据是否变化,则没有关系

    const a = 6;
    a = {};         // Uncaught TypeError: Assignment to constant variable.
    const obj = { a : 10 };
    obj.a = 20;
    console.log(obj.a);         // 20
  • 相关阅读:
    c#/asp.net实现炫酷仿调色板/颜色选择器功能
    c#程序员机试题
    如何定义最佳 Cache-Control 策略
    HTTP 缓存之ETag 和Cache-Control的使用方法介绍
    ASP.NET MVC 提高运行速度的几种性能优化方法
    c#FTP操作类,包含上传,下载,删除,获取FTP文件列表文件夹等Hhelp类
    C#实现GridView导出Excel
    C#文件上传类,文件流,字节数组等
    c#XML操作类的方法总结
    c#实现list,dataset,DataTable转换成josn等各种转换方法总和
  • 原文地址:https://www.cnblogs.com/debra/p/7080819.html
Copyright © 2011-2022 走看看