this:被调用的上下文对象;
apply与call:切换被调用的上下文对象,即 调用时,this被临时性地切换
//demo 1 [call] function forEach(list,callback){ for(var i = 0, len = list.length; i < len; i++){ callback.call(list[i],i);//切换this的上下文对象为:list[i] } } var weapons = ["shuiken","katana","nunchucks"]; forEach( weapons, function(index){ assert(this == weapons[index],"Got value:" + weapons[index]); } );
不使用call或者apply时:【目前,并不能看出,使用call,有什么好处】