首页 > 代码库 > => 应用在js回调函数中

=> 应用在js回调函数中

  => 可以简化以前的回调函数的调用,具体来说:

 今后,几乎所有的回调函数都可用箭头函数简化

比如:

    1. 所有回调函数都可: 去function改=>

    2. 如果函数体只有一句话: 可省略{}

      如果这一句话还是return,可省略return

    3. 如果只有一个参数: 可省略()

     但是,如果没有参数,必须保留空()

  更大用途: 箭头函数内外共用同一个this——取代bind

  特殊: 如果不希望内外共用this,就不能用箭头函数

    比如事件处理函数:

      elem.addEventListener("click",function(){this->elem})

      elem.addEventListener("click",()=>{ this->不是elem})

      变通解决:

      elem.addEventListener("click",e=>{ e.target->elem})

 

var arr=[12,2,123,23,1,3];
  //arr.sort(function(a,b){return a-b;})
  arr.sort((a,b)=>a-b);
  console.log(String(arr));

  var newArr=arr.map(val=>val*2);
  console.log(String(newArr));

  var bob={
    sname:"Bob",
    friends:[
      "Jack","Rose","Tom","Jerry"],
    intr(){
      //this->bob
      this.friends.forEach(
        val=>console.log(
              this.sname+" 认识 "+val)
      );
    }
  }
  bob.intr();
  var btns=document.getElementsByTagName("button");
  //this->window
  for(var i= 0,len=btns.length;i<len;i++){
    btns[i].addEventListener("click",
      //()=>alert(this.innerHTML)//错误
      e=>alert(e.target.innerHTML)
    )
  }

 

=> 应用在js回调函数中