• js this指向


    <button id="bt" name="bt001">click me</button>
    <script type="text/javascript">
    var name="somebody";
    var btn=document.getElementById("bt");
    var co={
    	name:"co",
    	say:function(){
    		alert("I am "+this.name);
    	}
    };
    //co.say();                                                 //co
    //setTimeout(co.say,1000);                                  //somebody
    //setInterval(co.say,1000);                                 //somebody
    //setTimeout(function(){co.say()},1000);                    //co
    //setInterval(function(){co.say()},1000);                   //co
    //btn.onclick=co.say;                                       //bt001 
    //btn.onclick=function(){
    //	co.say();                                               //co
    //}
    
    //setTimeout(function(){alert(this==window)},1000);         //true
    //btn.onclick=function(){                                   //true
    //	alert(this==btn);
    //}
    //setTimeout, setInterval, DomNode.onXXX改变的都是直接调用的函数里的this的指向
    //其中,setTimeout和setInterval将直接调用的函数里的this指向window,DomNode.onXXX将this指向DomNode
    //使用匿名函数将处理函数封装起来,可以将处理函数由直接调用变成通过匿名函数间接调用。
    
    //还可以通过call和apply来改变处理函数的this指向
    //co.say.call(btn);                                         //bt001
    //setTimeout(function(){co.say.call(btn)},1000);            //bt001
    //btn.onclick=function(){                                   //bt001
    //	co.say.call(this);
    //}
    //setTimeout(function(){co.say.apply(btn)},1000);           //bt001
    </script>
    

      

  • 相关阅读:
    命令行工具
    案例 WordCount
    Spark 运行环境
    启动 Local 环境
    Spark 快速上手
    spark异常处理
    第六章:(4)死锁
    第五章:(3)HashMap 集合线程不安全&解决方案
    第五章:(2)HashSet 集合线程不安全&解决方案
    第八章:(1)CountDownLatch减少计数
  • 原文地址:https://www.cnblogs.com/frostbelt/p/2388711.html
Copyright © 2020-2023  润新知