zoukankan      html  css  js  c++  java
  • 【ES6】var、let、const三者的区别

    1. 块级作用域 {}
            ES5 中作用域有:全局作用域、函数作用域。没有块作用域的概念。

             ES6 中新增了块级作用域。块作用域由 { } 包括,if语句和 for语句里面的{ }也属于块作用域。

     1 <script type="text/javascript">
     2 
     3 {
     4 var a = 1;
     5 console.log(a); // 1
     6 }
     7 console.log(a); // 1
     8 // 通过var定义的变量可以跨块作用域访问到。
     9 
    10 (function A() {
    11 var b = 2;
    12 console.log(b); // 2
    13 })();
    14 // console.log(b); // 报错,
    15 // 可见,通过var定义的变量不能跨函数作用域访问到
    16 
    17 if(true) {
    18 var c = 3;
    19 }
    20 console.log(c); // 3
    21 for(var i = 0; i < 4; i ++) {
    22 var d = 5;
    23 };
    24 console.log(i); // 4 (循环结束i已经是4,所以此处i为4)
    25 console.log(d); // 5
    26 // if语句和for语句中用var定义的变量可以在外面访问到,
    27 // 可见,if语句和for语句属于块作用域,不属于函数作用域。
    28 
    29 </script>

    2. var、let、const的区别
    var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。
    let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。
    const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改。

     1 <script type="text/javascript">
     2 // 块作用域
     3 {
     4 var a = 1;
     5 let b = 2;
     6 const c = 3;
     7 // c = 4; // 报错
     8 var aa;
     9 let bb;
    10 // const cc; // 报错
    11 console.log(a); // 1
    12 console.log(b); // 2
    13 console.log(c); // 3
    14 console.log(aa); // undefined
    15 console.log(bb); // undefined
    16 }
    17 console.log(a); // 1
    18 // console.log(b); // 报错
    19 // console.log(c); // 报错
    20 
    21 // 函数作用域
    22 (function A() {
    23 var d = 5;
    24 let e = 6;
    25 const f = 7;
    26 console.log(d); // 5
    27 console.log(e); // 6 
    28 console.log(f); // 7 
    29 
    30 })();
    31 // console.log(d); // 报错
    32 // console.log(e); // 报错
    33 // console.log(f); // 报错
    34 </script>
  • 相关阅读:
    分布式锁_00_资源帖
    JVM_总结_03_Java发展史
    JVM_总结_02_Java技术体系
    JVM_总结_00_资源帖
    分布式事务_03_2PC框架raincat源码解析-事务提交过程
    Java企业微信开发_15_查询企业微信域名对应的所有ip
    分布式事务_02_2PC框架raincat源码解析-启动过程
    Disruptor_学习_00_资源帖
    Git_学习_09_Commit message 和 Change log 编写指南
    分布式_事务_01_2PC框架raincat快速体验1
  • 原文地址:https://www.cnblogs.com/bigbighu/p/11178300.html
Copyright © 2011-2022 走看看