zoukankan      html  css  js  c++  java
  • ES6新增const常量、let变量

    JavaScript 严格模式(use strict)

    严格模式下你不能使用未声明的变量。
    const c1 = 1; 
    const c2 = {}; 
    const c3 = []; 
    不能对c1的值进行再次的赋值;
    也不能在对c2,c3进行赋值,但是可以改变c2的内容,因为c2是个对象,看例子
    c2.p1
    = 1; console.log(c2.p1)打印出来结果为1 同样,也可以往c3中添加元素,因为c3是个数组。
    const声明的变量与let声明的变量类似,它们的不同之处在于,const声明的变量只可以在声明时赋值,不可随意修改,否则会导致语法错误
    例如 const a=1; a=12; 这样会报错 
    同样 const a
    =0; a++;在use strict下一样会报错
    声明不赋值同样报错,const a; 报错
    let a
    =0; a++;可以被执行; let a=0; a=12;可以被执行
    let a
    =0; let a=12; 报错
     有区别于var在于他们存在块级作用于,就是你声明的变量只作用于某个域,比如一个函数,而不是全局,从上面也可以看出let 为变量 const为常量

    下面在具体举例说明

    1.let声明的变量只在变量声明时所在的代码块内有效 
    对比: 
    { 
      var url = "www.baidu.com"; 
    } 
      alert(url); 
    //-------------------------------- 
    { 
      let url = "www.baidu.com"; 
    } 
      alert(url); 
    2.let不允许在同一作用域重复声明变量: 
     let url = "www.baidu.com"; // 第一次
    { 
      let url="www.sina.com.cn"; //第二次
       console.log(url);  
    } // 第一次正确,第二次放到括号里面错误 
    3.let与全局变量的声明 
    //错误 
    let a=3; 
      { 
        var a=5; 
      } 
        alert(a); 
     
    //正确 
    var a=3; 
    { 
       let a=5; 
    } 
      alert(a); 
    4.作用到子作用域
    let a=3;
    {
       a=5;  //子作用域
    }
      alert(a); //弹出5

    二、const命令 

    const命令用来生成一个常量,常量被声明后,值无法改变。其他与let相同。
    const一旦定义,无法更改,let定义块级变量,他们都是无法重复声明的,会报错,而var可以覆盖之前的声明
  • 相关阅读:
    python 并发编程 多线程 event
    python 并发编程 多线程 定时器
    python 并发编程 多线程 信号量
    linux top 查看CPU命令
    python 并发编程 多线程 GIL与多线程
    python 并发编程 多线程 死锁现象与递归锁
    python 并发编程 多线程 GIL与Lock
    python GIL全局解释器锁与互斥锁 目录
    python 并发编程 多线程 GIL全局解释器锁基本概念
    执行python程序 出现三部曲
  • 原文地址:https://www.cnblogs.com/Model-Zachary/p/6106491.html
Copyright © 2011-2022 走看看