普通函数中的this指向问题解决方案apply

目录

前言

导语

 解决思路

运行结果

总结


前言

我是歌谣 放弃很容易 但是坚持一定很酷

导语

歌谣 歌谣 如下的代码报错了 怎么解决

​编辑

``` //口诀 谁调用就会指向谁 这边是普通函数 直接报错this.fang is not a function var name="geyao" var fangfang = { name : "fangfang",

fang: function () {
        console.log(this.name)
    },

    fun: function () {
        setTimeout( function () {
            this.fang()
        },100);
    }

};
fangfang.fun()

```

 解决思路

``` //口诀 谁调用就会指向谁 这边是普通函数 直接报错this.fang is not a function var name="geyao" var fangfang = { name : "fangfang",

fang: function () {
        console.log(this.name)
    },

    fun: function () {
        setTimeout( function () {
            this.fang()
        }.apply(fangfang),100);
    }

};
fangfang.fun()

```

运行结果

fangfang

总结

apply 方法调用一个具有给定this值的函数,以及以一个数组(或类数组对象)的形式提供的参数。

posted @ 2023-07-30 18:07  前端导师歌谣  阅读(10)  评论(0)    收藏  举报  来源