zoukankan      html  css  js  c++  java
  • ES6-Let

    了解浏览器执行的机制:

      浏览器再执行的时候,首先开辟一个大空间window,window下面分两个模块,一个叫栈,一个叫堆内存,栈用来存放变量的内存地址,堆主要存放代码块,然后浏览器从上到下执行;

    1.定义变量的两种:var   function

    2.ES6定义变量 :Let  const              前端定义变量的关键字:var   function  Let  const  Class  import  定义变量的关键字

    不能忽略函数的形参(函数的私有变量)

    3.var和function的功能:var 存在变量提升,不能定义,给window添加一个对应的属性

                 function 可以提前声明,可以给变量赋值;

    4.Let :ES6提供的一种声明变量的方式;

      (1)不存在变量提升

      (2)不会给window添加属性

      (3)不能重复声明

    5.var声明的变量 作用域分两种:

      (1)全局作用域:在window下声明的变量或者在函数外声明的

      (2)局部作用域: 在函数内声明的变量

    6.块级作用域(私有作用域):带大括号的,如:for  if,else 对象

      var 没有块级作用域这个概念,只存在变量提升的概念;Let 和Const有块级作用域的概念;

    7.块级作用域和函数作用域的区别:

      在块级作用域下,var和function跟在作用域下是一样的,变量在当前作用域下没有会向上查找

      块级作用域的启动需要加{ },function在块级作用域前只会提前声明,不会提前定义;

    8,在块级作用域下,Let和Const声明的变量是私有的,外面访问不到;

    9.for循环下Let声明的变量不会泄露;

    10.块级作用域和对象的区分,因为两者的表示都是花括号;

     11.函数参数默认值:

        使用变量b在定义变量b之前,出现了暂时性死区

      (1)写法上:有默认值的写后面,没有默认值的写前面;

      (2)如果传对应的参数,就不要默认值了,不是先赋默认值,然后用实参去覆盖;

     12.函数归谁,跟他在哪调用无关,跟他在哪定义有关。

      

    调用这个ff这个匿名函数,将fn赋给了ff,那么任何一个函数执行后都有一个返回值,如果写了return,return的是

    什么结果就是什么,如果没有return得到的是undefined;

      

    13.函数在if中的情况:

      

    在if语句中定义的函数,只声明不定义,当条件成立时,if模块中不管函数在哪声明的函数,都会第一步对这个函数先定义,再去执行if里面的代码。

      

    14.对暂时性死区的理解:

      如果块级作用域内使用let和const命令声明变量了,这个区域就会被这个变量强制绑定,凡是在声明之前这些变量都是不可用的;如果使用就会报错。意思是如果你在let或者const之前声明了,那么就会报错;块级作用域里面的声明不会访问到外部,除var 和function;

       

    我们在使用变量b在定义变量b之前了,出现了暂时性死区;

    Let a=a;报错,赋值运算是从右往左,右边使用变量a结果发现a没有声明,而let语法规定不能在没定义前使用变量,否则报错;

    var a=a;不报错 因为var可以变量提升,在等号赋值的时候,从右往左,使用变量a,此时a是undefined,赋值时就是把undefined赋值给a,所以a还是undefined。

  • 相关阅读:
    memcached命令
    模块管理常规功能自己定义系统的设计与实现(14--模块图表分析的设计)
    [易飞]凭证设计扩展字段之内容-文字显示格式
    将替代ListView的RecyclerView 的使用(一)
    POJ 2049— Finding Nemo(三维BFS)10/200
    最好用的jquery列表拖动排列(由项目提取)
    编程算法
    java几个easy出错的小程序
    GoldenGate配置(三)之DDL复制配置
    aused by: org.apache.xmlbeans.SchemaTypeLoaderException: XML-BEANS compiled schema: Incompatible min
  • 原文地址:https://www.cnblogs.com/lovels/p/11137282.html
Copyright © 2011-2022 走看看