• Es6


    ECMAScript 6

      ECMAScript 6.0 ( 以下简称 ES6 ) 是Javascript 语言的下一代标准,因此,ECMAScript 和 Javascript 的关系是,前者是后者的规格,后者是前者的一种实现 (另外的ECMAScript 方言还有 Javascript 和 ActionScript)

    es6变量:

      1,声明(定义)变量的关键字

          var  function  let  const  class  import

        * 备注:不能忽略函数的形参,函数的私有作用域

        

        var 定义变量 --- 变量能够提升,但是不能定义;给window添加一个对应的属性

        function 定义变量 --- 既可以提前声明,同时还定义了(赋值了)

        定义:所谓定义,就是给这个变量赋值了

        let es6提供的一种声明变量的方式 --- 没有变量提升,在声明之前不能使用,不能重复声明,不会给window增加属性

        es6 新增了let命令,用来声明变量;他的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效

    作用域:

       ~ var 作用域

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

            全局作用域 --- 在window下声明的变量或者在函数外声明的变量

            局部作用域 --- 在函数内部声明的

      * 了解浏览器执行的机制:

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

       ~function 声明的变量:

          function声明的变量给window添加一个对应的属性,属性值是方法

          * 函数归属谁,跟它在哪调用无关,在哪定义有关

            

          * 任何一个函数都有一个返回值,如果写了return,return的是什么就返回什么

            

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

            

            

            

    块级作用域:(私有作用域)

      带 { } 的都是块级作用域 , if(){}  for()  对象()

      var function 没有块级作用域这个概念,因为var有变量提升

      let const 有块级作用域

        

        

        

     块级作用域和对象的区别:

      {

        name :''zhang'',

        age : 12

      }

      { } 如果想表示对象,就不能放在行首,就是{}前面不能没有东西

      { } 前面什么都没有,代表块级作用域

      eval ( "  ( {name : 'zhang' , age : 12 } ) " )

    暂存性死区:

      如果块级作用域内使用 let const 命令声明变量了;这个区域就会被这个变量 强制绑定,凡是在声明变量之前这些变量都是不可以的,使用会报错,这就是暂时性死区;

        

        

        

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

          let a=a --- 报错 赋值运算从左往右,右边使用变量a结果发现a没有声明,而let语法规定不能在没定义前使用变量,所有报错
          var a=a --- 不报错 因为var可以变量提升,在等号赋值的时候,是从右往左,使用变量a,此时a是undefined,
          赋值时就是把undefined赋值给a,所有a还是undefined

    函数参数默认值:

      1,写法上 --- 有默认值的写后面,没默认值的写前面
      2,如果传对应的参数,就不要默认值了,不是先赋默认值,然后用实参去覆盖

          

  • 相关阅读:
    四则运算
    屏蔽恶意IP
    Vue企业级优雅实战05-框架开发01-登录界面
    Vue企业级优雅实战04-组件开发01-SVG图标组件
    Vue企业级优雅实战03-准备工作04-全局设置
    Vue企业级优雅实战02-准备工作03-提交 GIT 平台
    802.11ax TWT
    leetcode338
    春招实习面经(已拿阿里/腾讯/亚马逊)
    leetcode weekly contest138
  • 原文地址:https://www.cnblogs.com/xiaotaiyangye/p/11147354.html
Copyright © 2020-2023  润新知