zoukankan      html  css  js  c++  java
  • JS

    适用场景

    • 一般在需要使用匿名函数时使用

    误用场景

    • 函数作为构造函数
    • 需要修改函数的this
    • 需要使用arguments对象或访问prototype属性
    • 需要作为生成器函数

    例如

    需要修改函数的this

    var user = {
      name: "zhang",
      appendAF: val => {
        console.log(this.name + val); // apply不绑定this(箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this。)
      },
      appendF: function(val) {
        console.log(this.name + val); // apply绑定this
      }
    };
    
    function call(obj, fname, ...args) {
      console.log(obj);
      obj[fname].apply(obj, args);
    }
    
    call(user, "appendAF", "qqq"); // undefinedqqq
    call(user, "appendF", "qqq"); // zhangqqq
    

    生成器函数

    var genAF = (* () => {
        yield 123;
    })(); // 语法错误
    
    var genF = (function* (){
        yield 123;
    })(); // 正确
    

    参考

    箭头函数 | MDN

  • 相关阅读:
    两数之和
    Go网络编程UDP
    Go网络编程TCP
    Go_json
    Iris_xorm
    Go初始化结构体数组/切片
    Iris_xorm
    pyhon之函数参数
    python之深浅拷贝
    python作业之用户管理程序
  • 原文地址:https://www.cnblogs.com/jffun-blog/p/11255086.html
Copyright © 2011-2022 走看看