This 与 闭包

this
实际上是函数被调用时建立的一个绑定,指向完全由函数被调用时的调用点来决定

http://www.jianshu.com/p/86a9c5645e26

JavaScript 中的 this 含义要丰富得多,它可以是全局对象、当前对象或者任意对象,这完全取决于函数的调用方式。JavaScript 中函数的调用有以下几种方式:作为对象方法调用,作为函数调用,作为构造函数调用,和使用 apply 或 call 调用
this不是编写时绑定,而是运行时绑定。它依赖于函数调用的上下文条件。this绑定和函数声明的位置无关,反而和函数被调用的方式有关

当一个函数被调用时,会建立一个活动记录,也称为执行环境。这个记录包含函数是从何处(call-stack)被调用的,函数是 如何 被调用的,被传递了什么参数等信息。这个记录的属性之一,就是在函数执行期间将被使用的this引用。

        if (!this.loadingWait)
        {
          this.loadingWait = true;
          console.log('----------debug jjj--> ' + courseLastName )
          CourseUtil.openCourse(courseLastName, switchPage.bind(this) );
        }
        else
        {
          toastShort("哥,请等一下,我在努力解压文件中");
        }

        function  switchPage( ret )
        {
          this.loadingWait = false;
          if ( ret === 1 && this.loadingWait === false )
          {
            navigator.push({name:'CoursaDetailPage', params:{lesson:'zyx'}, component:CoursaDetailPage});
          }
          else
          {
            toastShort("catalogpage open file fail");
          }
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容