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");
}
}