js中this的运用

  • this 永远指向函数运行时所在的对象,而不是函数创建时所在的对象
  • 匿名函数和不处于任何对象中的函数,This指向window
  • call, apply, with指的This是谁就是谁。
  • 普通函数调用,函数被谁调用,This就指向谁
var x=0;
var foo={
    x:1,
    bar:{
        x:2,
        baz:function(){
           console.log(this.x)
        }
    }
}
 
var a=foo.bar.baz
foo.bar.baz();//2
a();//0

a运行时所在的对象时window,所以this指向window,即全局变量x为0;

原文地址:https://www.cnblogs.com/yuanxinru321/p/6824964.html