美文网首页
this指向的改变(重点)

this指向的改变(重点)

作者: persistlu | 来源:发表于2019-01-15 14:46 被阅读17次

this指向的改变(重点)

       this含义--当前对象:指事件的调用者 或 方法的调用者。this指向直接绑定它的对象。

            一般函数的回调函数中的this指向window。事件监听除外。

 改变匿名函数的this指向:bind(this指向的对象);bind(this);或者再var that(也可以其他变量名)=this;

        this的指向:bind(this):可以改变匿名函数的指向。

 案例:

    var oDiv = document.getElementById("oDiv");

    setTimeout(function(){

       this.style.display = "none";

    }.bind(oDiv),3000);

    document.onclick = function(){

this.style.display = "none";

    }.bind(oDiv);

    改变非匿名函数的this的指向:apply( )或 call( )。

apply( ) 或 call( ):函数名.apply( 函数体内部this指向的对象 )。函数调用时改变this的指向。

    案例:

        var oDiv = document.getElementById("oDiv");

    function fn(){

        alert(this);

    }

    fn.apply( oDiv );

fn.call( oDiv );

     注意:使用匿名函数的都不能使用call( ),apply( )改变this指向,箭头函数也不可以改变。

        箭头函数中没有this,箭头函数中的this继承父级而来,用bind( )也不可以改变指向。

相关文章

  • this指向的改变(重点)

    this指向的改变(重点) this含义--当前对象:指事件的调用者 或 方法的调用者。this指向直接绑定它的...

  • this指向以及改变this指向

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

  • this的指向和改变this的指向

    一、this的指向 普通函数调用 function fn(){ console.log(this) //thi...

  • 改变this指向

    每个函数都包含两个非继承来的方法call()和apply(); 使用call()或者apply(),可以改变thi...

  • this指向以及如何改变this指向

    当一个对象的函数被调用时,对象将被传递到执行上下文中,作为这个值。简单来说,就是function中的this永远指...

  • 继承

    改变this指向 从this到继承 改变this指向的Function.prototype.bind(thisAr...

  • JS中this的指向和改变this指向

    this的指向 1.直接调用,指向window 2.在函数里调用,指向window 3.在构造函数里用new调用,...

  • JS中的this指向及改变this指向

    this是包含它的函数作为方法被调用时所属的对象。说明:这句话有点咬嘴,但一个多余的字也没有,定义非常准确,我们可...

  • apply的改变this指向

    apply 虽然在一个独立的函数调用中,根据是否是strict模式,this指向undefined或window,...

  • 改变this指向的方法

    箭头函数和普通函数的区别如下。 普通函数:根据调用我的人(谁调用我,我的this就指向谁) 箭头函数:根据所在的环...

网友评论

      本文标题:this指向的改变(重点)

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