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

65 阅读1分钟

 

目录

前言

导语

 解决思路

运行结果


前言

我是歌谣 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷

导语

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

​编辑

 //口诀 谁调用就会指向谁 这边是普通函数 直接报错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 () {
            _this=this
            setTimeout( function () {
                _this.fang()
            },100);
        }

    };
    fangfang.fun()

运行结果

fangfang