一个例子彻底解决js中的this指向问题

任何事物只要找到根源就能很容易的解决,关于this指向问题的一大堆罗里吧嗦的话就不说了。下面只说两件事,秒懂this指向问题。看不懂你来砍我!

第一,必须知道js中作用域的知识

第二,看例子

var x = {
        a:10,
        c:function () {
            alert(this.a)
        }
    };
    var y = {
        a:12,
        c:function () {
            alert(this.a)
        }
    };
    var a = 6;
    var z = x.c;
    z();//6
    x.c();//10
    z.apply(y);//12

this指向的实际上是this所在函数执行时刻所处的作用域!简单明了吧,1、看this所在函数什么时候执行的。2、看this所在函数执行时刻在什么作用域。
顺便把apply()函数也带上,apply函数就是更改作用域的。
完事了。

你可能感兴趣的:(一个例子彻底解决js中的this指向问题)