美文网首页
箭头函数等于function?

箭头函数等于function?

作者: Y_d4ea | 来源:发表于2019-05-05 10:25 被阅读0次
    var obj = {
      id: "awesome",
      cool: function() {
        setTimeout(function() {
          console.log(this.id)
        }, 100);
      }
    };
    obj.cool()  //  undefined

输出undefinede因为丢失了this绑定

    var obj = {
      id: "awesome",
      cool: function() {
        setTimeout(function() {
          console.log(this.id)
        }.bind(this), 100);
      }
    };
    obj.cool()  //  awesome
    var obj = {
      id: "awesome",
      cool: function() {
        setTimeout(()=> {
          console.log(this.id)
        }, 100);
      }
    };
    obj.cool()  //  awesome

es6中会把同词法作用域联系起来 箭头函数不仅仅是简写function
当然使用bind手动绑定也可

相关文章

网友评论

      本文标题:箭头函数等于function?

      本文链接:https://www.haomeiwen.com/subject/cuccoqtx.html