this指向的改变(重点)

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( )也不可以改变指向。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 放大镜实例 页面结构:创建左右两个容器,左边容器中添加一张图片背景图,右边容器中添加一张与背景图成比例放大的图...
    果木山阅读 307评论 0 0
  • 1 知识点复习 事件事件分为DOM0级事件和DOM2级事件DOM0级事件:oDiv.onclick=函数名/匿名函...
    果木山阅读 183评论 0 0
  • 1.概念 在JavaScript中,this 是指当前函数中正在执行的上下文环境,因为这门语言拥有四种不同的函数调...
    BluesCurry阅读 1,156评论 0 2
  • 1 事件库的复习及最终版封装 依赖的库:不依赖任何库; 使用方法:为全局函数调用;系统行为事件绑定:on(ele,...
    果木山阅读 263评论 0 0
  • 明天补~
    毛裤裤阅读 242评论 1 0