zoukankan      html  css  js  c++  java
  • 【进阶3-2期】JavaScript深入之重新认识箭头函数的this(转)

    这是我在公众号(高级前端进阶)看到的文章,现在做笔记

    https://github.com/yygmind/blog/issues/21

    上篇文章详细的分析了各种this的情况,看过之后对this的概念就很清晰了,没看过的去看看。

    我们知道this绑定规则一共有5种情况:

    • 1、默认绑定(严格/非严格模式)
    • 2、隐式绑定
    • 3、显式绑定
    • 4、new绑定
    • 5、箭头函数绑定

    其实大部分情况下可以用一句话来概括,this总是指向调用该函数的对象

    但是对于箭头函数并不是这样,是根据外层(函数或者全局)作用域(词法作用域)来决定this。

    对于箭头函数的this总结如下:

    1. 箭头函数不绑定this,箭头函数中的this相当于普通变量。

    2. 箭头函数的this寻值行为与普通变量相同,在作用域中逐级寻找。

    3. 箭头函数的this无法通过bind,call,apply来直接修改(可以间接修改)。

    4. 改变作用域中this的指向可以改变箭头函数的this。

    5. eg. function closure(){()=>{//code }},在此例中,我们通过改变封包环境closure.bind(another)(),来改变箭头函数this的指向。

    题目1

    【进阶3-2期】JavaScript深入之重新认识箭头函数的this

  • 相关阅读:
    转移到新的个人独立博客。
    hdu5618 (三维偏序,cdq分治)
    平衡树维护动态凸包
    poj1986 LCA
    hdu2586 LCA
    LCA最近公共祖先 ST+RMQ在线算法
    hdu 3401 单调队列优化DP
    【转】单调队列优化DP
    CodeForces 548D 单调栈
    hdu3530 单调队列
  • 原文地址:https://www.cnblogs.com/zhaobao1830/p/10117603.html
Copyright © 2011-2022 走看看