zoukankan      html  css  js  c++  java
  • 变量let const

    一、变量

    1. let
      代码块内有效,无变量提升、不可重复声明

      { let a = 2; }

        for循环非常实用let。

      for (var i = 0; i < 10; i++) {
        setTimeout(function(){
          console.log(i);
        })
      }
      // 这个 var 在全局内有效,而setTimeout 中的 i 指向的是全局的 i; // 输出十个 10

      for (let j = 0; j < 10; j++) { setTimeout(function(){ console.log(j); }) }
      // 变量 j 是用 let 声明的,当前的 j 只在本轮循环中有效,每次循环的 j 其实都是一个新的变量; javaScript引擎会记住前一个循环的值。 // 输出 0123456789

        

    2. const 
      const 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错。
      对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。
      对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针,const只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,就完全不能控制了。

      const foo = {}; // 为 foo 添加一个属性,可以成功 foo.prop = 123; foo.prop // 123 // 将 foo 指向另一个对象,就会报错 foo = {}; // TypeError: "foo" is read-only



           

  • 相关阅读:
    SQL Union 和Union All 的区别
    SqlHelper.cs
    转载WPF:创建你的第一个WPF项目
    数据库分页存储过程
    sql 常用基础查询
    创建表--自动编号字段且自增
    模糊查询
    模式的定义
    C#计算两个日期之间相差的天数
    优化SQL查询:如何写出高性能SQL语句
  • 原文地址:https://www.cnblogs.com/anbozhu7/p/11814289.html
Copyright © 2011-2022 走看看