This 與 閉包

this
實際上是函數被調用時建立的一個綁定,指向完全由函數被調用時的調用點來決定

http://www.lxweimin.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");
          }
        }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容