码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-04-02 12:16:54      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

       /*对象体内*/
       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,方法体则会在定义时开辟一段作用域(执行上下文),以供方便获取活动对象。

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

标签:

原文地址:http://www.cnblogs.com/zhu-xingyu/p/5347289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!