0
点赞
收藏
分享

微信扫一扫

【js学习笔记十八】普通函数中的this指向问题解决方案bind


 

目录

前言

导语

 解决思路

运行结果

总结

前言

我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷

导语

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

【js学习笔记十八】普通函数中的this指向问题解决方案bind_前端

【js学习笔记十八】普通函数中的this指向问题解决方案bind_前端_02编辑

//口诀 谁调用就会指向谁 这边是普通函数 直接报错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()

【js学习笔记十八】普通函数中的this指向问题解决方案bind_前端_03

 解决思路

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

    };
    fangfang.fun()

【js学习笔记十八】普通函数中的this指向问题解决方案bind_前端_04

运行结果

fangfang

总结

bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。


举报

相关推荐

0 条评论