美文网首页
this指向

this指向

作者: stringtoString | 来源:发表于2019-06-21 15:45 被阅读0次

1,this的指向
在函数中的this是在运行时候决定的,而不是函数定义时
全局环境中的this指window
其它函数中的this指向调用它的对象

2,改变this指向的方法
一,call 二,apply 三,bind

call()方法的使用:
函数体.call(obj)

        var obj1 = {
            fn: function () {
                // 执行逻辑
            }
        } 
        var obj2 = {
            fn: function () {
                // 执行逻辑
            }
        } 
        obj1.fn.call(obj2,,,)
  • call方法传参只需要使用多个逗号隔开

apply()方法的应用
区别:参数需要传入一个数组

        var obj1 = {
            name: 'li',
            fn: function () {
                return this.name;
            }
        } 
        var obj2 = {
            name: 'yang',
            fn: function (str) {
                return this.name+str
            }
        } 
        console.log(obj2.fn.apply(obj1,['888']))  //li888
  • 以上两个方法改变函数的this指向并立即调用该函数

bind在使用形式上和上面两个call和apply一样
只不过不立即调用,经常在定时器,或其他回调函数等不立即调用的函数改变this指向时使用
例如:setTimeout(function(){.bind(obj),1000)
该匿名函数在1000毫秒后调用,使用bind改变this指向又不立即调用,符合使用该场景时调用。

相关文章

  • this指向以及改变this指向

    改变this指向 call() apply() bind()

  • this指向

    this指向: 简单的一句话,谁调用的函数,this就指向谁 例子: var obj = { fun1: func...

  • this指向

    axios.get('/api', {params: {name: "kerwin",age:100}}).the...

  • this指向

  • this指向

    例 例

  • this 指向

    window.name = 'xiaoyu' var myObj = {name: 'seven',getName...

  • 指向

    平静的海托着翻飞的火焰,离开港口就有多少离人的泪还会再次上演,看着手上的钟表计算着离开的航线,肃穆的夜还有一串星火...

  • this 指向

    this执行全局环境中 this 指向 window this很重要的解析 https://segmentfaul...

  • this指向

    // 在普通函数中,函数的调用者是window对象,所以函数中的this指针指向的是window,通过访问this...

  • 指向

    飘飘荡荡,所有的事情都在直指一个方向 珍惜所有的付出,不在一处能回馈的也必会找到另一种方式。愿长长久久

网友评论

      本文标题:this指向

      本文链接:https://www.haomeiwen.com/subject/kwiyqctx.html