zoukankan      html  css  js  c++  java
  • (二十一)箭头函数中this指向

    let obj = {
    	id:99,
      	hello:()=> {
        	console.log(this)	//windows
        },
      	hi:function(){
        	console.log(this);	//obj
        	//obj;因为箭头函数没有自己的指向;因此其this指向为外面的hi函数的指向;即obj   	
          	setTimeout(()=>{console.log(this)},100);	
          	setTimeout(function(){console.log(this)},100)	//windows;定时器中函数是被windows调用的
        }
    }
    obj.hello();
    obj.hi();
    

    上面的运行结果:

    > [object Window]
    > Object { id: 99, hello: ()=> {
        	console.log(this)
        }, hi: function(){
        	console.log(this);
          	setTimeout(()=>{console.log(this)},100);
          	setTimeout(function(){console.log(this)},100)
        } }
    > Object { id: 99, hello: ()=> {
        	console.log(this)
        }, hi: function(){
        	console.log(this);
          	setTimeout(()=>{console.log(this)},100);
          	setTimeout(function(){console.log(this)},100)
        } }
    > [object Window]
    
    总结:
    • 箭头函数没有自己的this指向;判断this指向的时候可以当作其不存在去判断this的指向
  • 相关阅读:
    Java中的逆变与协变
    JAVA中使用DOM解析XML文件
    ReentrantLock的使用
    tomcat源码 Container
    tomcat源码 Connector
    tomcat源码 StandardService
    BlockingQueue队列
    tomcat源码 StandardServer
    tomcat源码 分析 Catalina
    tomcat整体架构
  • 原文地址:https://www.cnblogs.com/smileyqp/p/12675293.html
Copyright © 2011-2022 走看看