• 解析对象体内与方法体内引用内部方法的不同


           /*对象体内*/
           var a={
             init:function(){a.func1();}, //这里要加this或者对象a,但方法体内同等格式不用,思考这其中的差别
             func1:function(){alert(1);} 
           }
           a.init(); //执行
    
           /*方法体内*/
           function b(){
              this.init=function(){func1();}; //这里可以调用到func1,原因在于对象体没有开辟作用域的概念,它自己依赖于自身所在的作用域,所以不能在对象体中直接找到func1.
              function func1(){
                alert(1);
              }
            
           }
           new b().init();//执行
    

        总结,对象体没有开辟作用域的概念,它自己依赖于自身所在的作用域,所以不能在对象体中直接找到func1,需要通过作用域中的自己来找到func1,方法体则会在定义时开辟一段作用域(执行上下文),以供方便获取活动对象。

  • 相关阅读:
    连接ESP32失败:等待包头 #226超时
    题王网
    高可用架构模式——CAP
    高性能负载均衡
    单服务器高性能模式
    虚拟支付
    高性能架构设计——数据库篇
    MySQL
    shell 命令: MD5
    HTTPS
  • 原文地址:https://www.cnblogs.com/zhu-xingyu/p/5347289.html
Copyright © 2020-2023  润新知