美文网首页
简单理解this指向

简单理解this指向

作者: Sun晨淏 | 来源:发表于2019-06-22 09:13 被阅读0次

this的指向

  • 函数中的this是在运行时候决定的,而不是函数定义时
    全局环境中的this指window
    其他函数中的this指向调用它的对象
    使用call和apply改变函数中this的具体指向
    apply的参数需要放在一个数组里面
    bind改变this指向
    fn.bind(o)
  • 改变this指向的方法
    call和apply方法的使用
函数体.call(obj)
obj1={
   fn:function(){
 
   }
}
obj2 = {
   fn:function(){
 
   }
}

obj1.fn.call(obj2,,,,,,) call方法传参只需要使用多个逗号隔开
apply方法需要将参数放在一个数组里
以上两个方法改变函数的this指向并立即调用该函数

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

  • apply()方法的应用
    参数需要传入一个数组
var obj1 = {
            name:'zhangsan',
            returName:function(){
            return this.name;
            }
 }
 var obj2 = {
           name:'lisimao',
           returName:function(str){
           return this.name+str;
           }
  }
console.log(obj2.returName.apply(obj1,['666']))
  • call()方法的应用()
    call方法和apply使用方法一致,只不过参数是直接传,不用数组盛放

相关文章

  • 简单理解this指向

    this的指向 函数中的this是在运行时候决定的,而不是函数定义时全局环境中的this指window其他函数中的...

  • this指向的理解

    关于this指向,是这几天学微信小程序开发时才恶补的,所以理解的不是很全面,但是还是有很多的收获的,所以想记录下来...

  • git 分支使用

    理解 HEAD 指针 HEAD 指向当前分支引用的指针,也就是一个指向你的最后一次提交的指针,通常可以简单的认为 ...

  • 如何理解this的指向

    this是JS中一个关键字,this的指向是不确定的,可以动态改变,这样设计可以让代码更加灵活,复用性也更高,那么...

  • 理解js中this指向

    先“死记硬背”以下几条规律:1、在函数体中,非显式或隐式的简单调用函数时,在严格模式下,函数内的this会被绑定到...

  • 关于this指向的理解

    平时遇到的this指向问题 例1 例2 例3 例4

  • 读《javaScript高级程序设计-第6章》之继承

    读这篇之前,最好是已读过我前面的关于对象的理解和封装类的笔记。 一、原型链 原型链最简单的理解就是:原型对象指向另...

  • 面试题的总结与解答

    1,js中this指向的理解 在js面向对象编程里我们避免不了使用this,所以理解this指向对于在面向对象编程...

  • 如何理解JavaScript this的指向

    实习期间写代码时候就感觉this很迷。有些不知所措。后来查看了部分文章。 this最终指向的是调用它的对象(这个已...

  • 一文读懂GC

    什么是垃圾? 如何定位垃圾? 引用计数(ReferenceCount)简单理解:每有一个引用指向时加一,每有一个引...

网友评论

      本文标题:简单理解this指向

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