• ES6


    ES6

    1开发环境准备

    2.脚手架

    安装好node后,有了npx和npm两个命令

    初始化项目:npx es10-cli create projectName

    3.作用域

    函数作用域:也叫局部作用域,函数内部定义的作用域

    function test(){
        var abc = 123 //此时为局部作用域,关闭在函数作用域内,外面拿不到
      bcd = 123
    }
    但是就想让外部拿到里面的abc的值,一:return 二:闭包
    function test(){
      var a = 100
      function test2(){
        return a
      }
      return test2
    }
    没有对外暴露a,只是暴露了函数。那么没有人能改动a,函数也没提供修改a的接口。且es6之前有变量提升,es6中有了块级作用域之后,就没有了变量提升
    老实的待在块级作用域里面

      

    块级作用域:es6前,var是没有块级作用域的

    for(var i=0;i<len(arr);i++){
    
    }
    此时的i是全局作用域下,var没有块级作用域,只能靠函数作用域把它关住
    if同理也是块级作用域

      

    全局作用域:希望程序中任何一个位置都能拿到这个变量,那么就放到全局中。

    函数外定义的变量,基本都是全局作用域

    js中变量不能删除
    var abcd = 123
    delete abcd  //返回false
    
    abc=234
    delete abc //true  等价于delete window.abc
    不加var是当做了全局对象window的属性存在,这是可以删除的
    即便是到了es6中一样是这样子的
    结论:无论在函数内还是函数外,只要加了var那么就是挂载在window对象的不同作用域下,例如python中的global()和local()返回的字典里面
    如果不加var let const,那么就是挂载在window对象下面的属性,是全局作用域
    只要是var const let声明的就是变量,是变量就有作用域,没有他们修饰的那只是属性,直接挂在window对象下。

    动态作用域

    最难的this
    很多时候会默认this为window
    this师动态的不是固定指向的

    4.let与const

    都有块级作用域,没有变量提升,let是变量,const是常量

    看十遍不如自己写一遍!巩固基础,纵横开拓!
  • 相关阅读:
    logstash入门
    Gray Code LeetCode 89
    Longest Valid Parentheses Leetcode 32 一种奇特的解法
    写一个播放视频文件的ActiveX控件——MFC版(原创)
    一种用于网络播放的ActiveX控件
    《COM原理与应用》学习笔记——一个简单的COM组件的实现
    《COM原理与应用》学习笔记——COM的实现
    《COM原理与应用》题外话——C++虚函数表和delete this
    《COM原理与应用》学习笔记二——COM对象和COM接口的实现
    《COM原理与应用》学习笔记一
  • 原文地址:https://www.cnblogs.com/gyxpy/p/13636780.html
Copyright © 2020-2023  润新知