猿问

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,谢谢各位大神


aluckdog
浏览 471回答 2
2回答

白衣染霜花

箭头函数不是用来代替 function 的,你这种情况,还是直接写 function 比较好推荐你看看:JavaScript 的 this 指向问题深度解析

慕码人2483693

没有就传一个进去呗 (这样写会被打死. 注意)var t ={    test1 : (t) => {        console.log(t);    }}t.test1(t);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答