ES6基础知识点补充
    
    
    
    ES5:
   
    
    
    var
   
- var没有块级作用域;
 - if、for没有块级作用域,用闭包解决应用外部变量(var变量)的问题(因为函数是一个作用域)。
 
    var定义i
    
    
    
   
    
    
    ES6:
   
    
    
    let
   
let:变量,有块级作用域(变量在什么范围内可用)
    let定义i
    
    
    
    
   
    
    
    const
   
- 
     const:常量,没有块级作用域
- 使用const定义标识符时就要赋值;
 - 使用const定义标识符之后,不能修改标识符的值;
 - 
       常量:指向的对象不能修改,但可以改变对象内部的属性。
       
 
    
    
    对象字面量的增强写法
   
    
    
    对象的字面量
   
const obj = {
属性1: xxx,
属性2: xxx,
……
}
    
    
    属性的增强写法
   
const name = "Tom";
const age = 3;
const sex = "man";
// ES5
const obj5 = {
name: name,
age: age,
sex: sex
}
// ES6
const obj6 = {
name,
age,
sex
}
    
   
    
    
    函数的增强写法
   
// ES5
    const obj5 = {
      play: function () {
      },
      walk: function () {
      }
    }
    // ES6
    const obj6 ={
      play(){
      },
      walk(){
      }
    }
    
    
    定义函数的方式
   
    
    
    function
   
function add(x,y){
    return x+y;
  }
    
    
    对象字面量创建函数
   
methods: {
    add(x,y){
      return x+y;
    }
  }
  或
  ……
  add: function(x,y){
      return x+y;
    }
  ……
    
    
    箭头函数,定义函数的一种方式
   
把一个函数作为另外一个函数的参数时,一般使用箭头函数
const xxx = (参数列表) => {
……
}
    
    
    参数问题
   
- 两个参数
 
const add = (x,y) => {
    return x+y;
  }
- 一个参数:参数列表外的括号可以省略
 
const negativeNum = x => {
    return 0-x;
  }
    
    
    函数代码块
   
- 函数代码块中有多行代码时
 
const infos = () => {
    console.log("name:withlan");
    console.log("age:3-year-old");
    console.log("vue yyds");
  }
    效果:
    
    
   
- 函数代码块只有一行代码:可以省略{}和return
 
const aInfo = () => console.log("name:withlan")
    效果:
    
    
   
    
    
    箭头函数的this指向
   
- 普通function函数中,默认自带call方法。call() 方法具有一个指定的this值,处于非严格模式下this值会自动指向全局对象(浏览器中就是window对象)
 - 箭头函数中的this,引用的是最近作用域中的this。向外层作用域,一层层查找this,直到有this的定义。
 
    
    
    
    
    
    
    
    
    
   
 
版权声明:本文为weixin_44836362原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。