ES6中箭头函数指向问题

再没有使用es6之前,写法如下:

const appView = Backbone.View.extend({
    el: $('body'),
    initialize: function() {
        console.log(this);
    },
})

运行后console可以打印this的内容

但是使用es6箭头函数之后,发现this为undefined了

const appView = Backbone.View.extend({
    el: $('body'),
    initialize: () => {
        console.log(this);
    },
})

查询资料后得知,

中箭头函数的 this 永远指向该函数构造时的环境

但是我想再箭头函数中依然使得this的指向是原来没有使用箭头函数的this,请问这个该如何写?
本人初接触js,谢谢各位大神

阅读 2.3k
2 个回答

没有就传一个进去呗 (这样写会被打死. 注意)

var t ={
    test1 : (t) => {
        console.log(t);
    }
}
t.test1(t);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题