zoukankan      html  css  js  c++  java
  • es6 箭头函数

    箭头函数是使用=>语法的函数简写形式

    var array = [1, 2, 3];
    
    //传统写法
    
    array.forEach(function(v, i, a) {
    
        document.write(v);
    
    });
    
     
    
    //ES6
    
    array.forEach(v => document.write(v));
    
    它们同时支持表达式体和语句体。与(普通的)函数所不同的是,箭头函数和其上下文中的代码共享同一个具有词法作用域的this。
    
    var evens = [1,2,3,4,5];
    
    var fives = [];
    
     
    
    // 表达式体
    
    var odds = evens.map(v => v + 1);
    
    var nums = evens.map((v, i) => v + i);
    
    var pairs = evens.map(v => ({even: v, odd: v + 1}));
    
     
    
    // 语句体
    
    nums.forEach(v => {
    
      if (v % 5 === 0)
    
        fives.push(v);
    
    });
    
    document.write(fives);
    
     
    
    // 具有词法作用域的 this
    
    var bob = {
    
      _name: "Bob",
    
      _friends: ["Amy", "Bob", "Cinne", "Dylan", "Ellen"],
    
      printFriends() {
    
        this._friends.forEach(f =>
    
          document.write(this._name + " knows " + f));
    
      }
    
    }
    
    bob.printFriends();

    箭头函数有几个使用注意点。

    • 函数体内的this对象,绑定定义时所在的对象,而不是使用时所在的对象。
    • 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
    • 不可以使用arguments对象,该对象在函数体内不存在。

    第一点尤其值得注意。this对象的指向是可变的,但是在箭头函数中,它是固定的。

  • 相关阅读:
    编译原理三大经典书籍
    c#之委托总结
    shell编程基础
    专家是什么?我真的想知道(转)
    linux sed
    判断一个脚本中的变量是否为空(转)
    JAVA Stack栈和Heap堆的区别(转)
    CMD获取当前目录的绝对路径 (转)
    RTP协议分析
    VS2010旗舰版安装图解
  • 原文地址:https://www.cnblogs.com/wangdan0915/p/7799341.html
Copyright © 2011-2022 走看看