JS 匿名函数改变this指向

在函数被作为某个对象的方法调用时,this等于这个对象。

但是匿名函数的this是window, 如果要修改匿名函数的this指向,可以使用这样的办法。

var name = 'window'
    var person = {
        name :'Alan',
        sayName:function () {
            return function () {
                console.log(this.name)
            }
        }
    }
    person.sayName()()  // window 

 

如下所示,使用that变量

    var name = 'window'
    var person = {
        name :'Alan',
        sayName:function () {
            var that = this
            return function () {
                console.log(that.name)
            }
        }
    }
    person.sayName()()  // Alan

 

    原文作者:坚持吧骚年
    原文地址: https://blog.csdn.net/huangning1995/article/details/102526130
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞