es6 箭头函数 this 问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6 箭头函数 this 问题相关的知识,希望对你有一定的参考价值。

1. 在箭头函数出现之前,每个新定义的函数都有其自己的this值(例如,构造函数的 this 指向了一个新的对象;严格模式下的函数的 this 值为 undefined;如果函数是作为对象的方法被调用的,则其 this 指向了那个调用它的对象)。

2. 箭头函数没有自己的this,不会新产生自己作用域下的this,arguments,super和new.target等对象。此外,箭头函数总是匿名的。

<input type="button" class="btn1" value="提交1">
<input type="button" class="btn2" value="提交2">

<script>
    $(".btn1").click(function () {
        console.log(1);
        console.log(this);// <input type="button" class="btn1" value="提交1">
    })

    $(".btn2").click(() => {
        console.log(2);
        console.log(this);// window
    })

</script>

 

以上是关于es6 箭头函数 this 问题的主要内容,如果未能解决你的问题,请参考以下文章