zoukankan      html  css  js  c++  java
  • ES6标准入门读书笔记

    第一章  基础

    1.let和const命令

      (1).let用于声明变量,所声明的变量只在当前代码块有效 

          特点:不存在变量提升     所以在变量声明之前就使用会报错 

                   暂时性死区           只要块级作用域内存在let命令,他所声明的变量就绑定在该区域,不再受外部影响  如全局和块内都有同名变量  在块内操作是操作块内的那个变量

                                             ES明确规定,如果区块中存在let和const指令,则这个区块对这些命令声明的变量从一开始就形成封闭作用域,只要在声明之前使用,就会报错

                   不允许重复声明     不允许在同一作用域重复声明,因此不能在函数内部声明与参数同名的变量

      tips:function bar(x = y, y = 2){

                     console.log(x,y);

              }         // 会报错 因为当把y的值赋给x时y还没有声明

      (2).块级作用域

           块级作用域产生之前不合理的场景:

                 内部变量可能会覆盖外部变量          如内部有与外部同名的变量声明  由于变量声明提升 所以内层覆盖外层

                 用来计数的变量泄露成全局变量       由于闭包问题 计数的变量不能释放成为全局变量 失去计数功能

           let实际上为js提供块级作用域

           特点:

                  let定义的变量 外层代码不受内层代码影响

                  内层作用域可以定义与外层同名的变量

                  可以取代匿名函数

          tips:

                  ES6规定,函数本身的作用域在其所在的块级作用域中

                  在严格模式下,函数只能在顶层作用域和函数内声明,其他情况会报错

          

                    

                 

               

  • 相关阅读:
    一文摸透从输入URL到页面渲染的过程
    JavaScript实现哈希表
    JavaScript数据结构与算法博客目录
    JavaScript实现图结构
    从宏观到细节为你讲解前端性能优化
    详解HTTP协议
    JavaScript实现排序算法
    Google Stadia免费试用两个月
    安卓手机调成黑白屏幕
    UWP Xbox上隐藏键盘⌨
  • 原文地址:https://www.cnblogs.com/mengmengya/p/9842228.html
Copyright © 2011-2022 走看看