zoukankan      html  css  js  c++  java
  • this指向问题

    js5的this:this指向函数运行时所在的执行环境的对象
     var obj = {
            a: f = function() {
                console.log(this);
                setTimeout(function() {
                    console.log(this);
                }, 0);
            }
        }
        obj.a();
    输出:
    {a:f}
    window
    //a在局部环境里执行,指向当前对象,所以this指向obj
    //setTimeout回调的代码都是在全局作用域环境中执行的,所以指向window
     
    而换成:
     var b = obj.a;
      b();
    输出:
    window
    window
    //b这个时候相当于一个函数,而b是在全局环境下执行的,所以指向window
     
    es6的this:es6没有自己的this,指向外层代码的this 
     
     
     
  • 相关阅读:
    2018年12月29日 Oracle查询性能优化
    B
    A
    洛谷 P2447 [SDOI2010]外星千足虫
    洛谷 P5358 [SDOI2019]快速查询
    欠的题目
    ZJU-ICPC Summer 2020 Contest 8 B-Picnic
    洛谷 P3164 [CQOI2014]和谐矩阵
    K
    J
  • 原文地址:https://www.cnblogs.com/putaopi/p/11642875.html
Copyright © 2011-2022 走看看