美文网首页
JavaScript 中的 this

JavaScript 中的 this

作者: 饥人谷_Bayes | 来源:发表于2017-05-19 15:32 被阅读0次

    以下都是自己学习过程中的自问自答:

    • Q:JS 中的 this 是什么意思?A:我理解为一个代词。

    • Q:什么时候能确定 this 指代的是什么?A:函数执行的时候。

    • Q:上一个问题展开讲讲?A:有一种方便记住的规律就是:

      • foo.call(a, b) 中第一个参数 a 就是 this 指代的东西;
      • foo(argv)foo.call(undefined, argv) 是等价的;
      • a.foo(b)a.foo.call(a, b) 是等价的;
      • 在一般情况下,如果 thisundefined,会被自动换成 global 对象,在浏览器中也就是 window 对象。
    • Q:就这么简单?A:显然不是,以上只是方便初学记住的规律。也有例外情况。

    • Q:例外情况?A:例如 es6 中新加入的箭头函数,是在声明时就绑定了 this,之后即使使用 callapply 也没法改变 this 的值。

    • Q:在学习 this的过程中参考的那些文章?A:以下三篇收益最多:

      1. this 的值到底是什么?一次说清楚
      2. javascript 中的对象查找
      3. Understand JavaScript's "this" With Clarity, and Master It
    • Q:还有不解的地方吗?A:有。例如 new� 相关的部分。

    相关文章

      网友评论

          本文标题:JavaScript 中的 this

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