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");
}
}
网友评论