zoukankan      html  css  js  c++  java
  • 《你不知道的JavaScript(上)》笔记——let和const

    笔记摘自:《你不知道的JavaScript(上)》第3章 函数作用域和块作用域

    let

    1.let 关键字可以将变量绑定到所在的任意作用域中

    2.let 为其声明的变量隐式地劫持了所在的块作用域

    3. 通常来讲,显示的代码优于隐式或一些精巧但不清晰的代码。

    4.只要声明是有效的,在声明中的任意位置都可以使用{..}括号来为let创建一个用于绑定的块。

    5.使用let进行的声明不会在块作用域中进行提升。声明的代码被运行之前,声明并不存在。

    例如:

    {
        console.log(bar); // Reference Error!(引用错误)
        let bar = 2;
    }

     6.let for循环

    先看下var for循环的结果

    for (var i = 0; i < 10; i++) {
        console.log(i); // 0,1,2,3,4,5,6,7,8,9
    }
    console.log(i); // 10

    再看下使用let for循环的结果

    for (let i = 0; i < 10; i++) {
        console.log(i); // 0,1,2,3,4,5,6,7,8,9
    }
    console.log(i); // ReferenceError

    for循环头部的let不仅将i绑定到了循环的每个迭代中,确保使用上一个循环的每一个迭代中,确保使用上一个循环迭代结束时的值重新进行赋值。

    const

    1.const 和let一样可以用来创建块作用域变量,但其值是固定的(常量),之后任何试图修改值的操作都会引起错误。

    var foo = true;
    if (foo) {
      var a = 2;
      const b = 3; //包含在if中的块作用域常量
      
      a = 3; // 正常
      b = 4;  // 错误!      
    }
    console.log(a); // 3
    console.log(b); // ReferenceError
  • 相关阅读:
    适用于Java和JavaScript的Codota AI自动完成
    Postgresql常用函数整理
    vue引入echarts地图的三种方式
    Linux下 tar 命令介绍
    如何并发执行Linux命令
    如何复用外部shell脚本
    shell 脚本中日期运算
    有问题找男人帮忙- Linux下man命令
    MySQL 排序规则简介
    再也不用担心 SSH 断开了
  • 原文地址:https://www.cnblogs.com/cathy1024/p/10450787.html
Copyright © 2011-2022 走看看