跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • JS 关于 this 指向的疑惑
未分類
25 10 月 2020

JS 关于 this 指向的疑惑

JS 关于 this 指向的疑惑

資深大佬 : chenpingan 0

//代码 var name = ‘行星飞行’; let obj = { name: ‘听风是风’, fn: function () { console.log(this.name); } };

function fn1(param) { param(); }; fn1(obj.fn);

这个例子中我们将 obj.fn 也就是一个函数传递进 fn1 中执行,这里只是单纯传递了一个函数而已,this 并没有跟函数绑在一起,所以 this 丢失这里指向了 window 。

上述是一篇文章中讲述的,我有点没搞清楚“this 并没有跟函数绑在一起,所以 this 丢失这里指向了 window”这句话到底表述了什么意思…

大佬有話說 (2)

  • 資深大佬 : Exceptionluo

    var name = “行星飞行”;
    let obj = {
    name: “听风是风”,
    fn: function () {
    console.log(this.name);
    //哪个对象调用该方法,this 即指向该对象
    },
    };

    function fn1(fn) {
    /*
    这里的 fn 只是个方法,同 function () {
    console.log(this.name);
    }
    该方法已经和 obj 对象没有关系了,所以最终的 this 就指向了兜底对象 window 对象,里面的 this 就是 window

    虽然 fn 在 fun1 里执行,但是 fn 不属于 fn1,这里只是借用的关系
    */
    fn();
    }
    fn1(obj.fn);

  • 主 資深大佬 : chenpingan

    @Exceptionluo 我有点理解了,谢谢你

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具