this指向问题

Posted putaopi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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指向a
//setTimeout回调的代码都是在全局作用域环境中执行的,所以指向window
 
而换成:
 var b = obj.a;
  b();
输出:
window
window
//b这个时候相当于一个函数,而b是在全局环境下执行的,所以指向window
 
es6的this:es6没有自己的this,指向外层代码的this 
 
 
 

以上是关于this指向问题的主要内容,如果未能解决你的问题,请参考以下文章

很实用的JQuery代码片段(转)

在 webview_flutter 中启用捏合和缩放,在哪里添加代码片段 [this.webView.getSettings().setBuiltInZoomControls(true);]

laravel特殊功能代码片段集合

微信小程序代码片段

箭头函数的this指向问题

在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]