最近在调试别人封装的代码的时候发现通过Microsoft.Maps.Events.addHandler(map, "viewchange", this.mapChangeView);绑定的一个事件,在
MiniMapHelper.prototype.mapChangeView = function ()
{
this;
}
中获得的this不一致,而且还会变化,经过分析发现,原来是这样:
当通过map本身的视图变化来触发mapChangeView()的时候,this指向的是map对象。
而直接调用mapChangeView()时,this指向的是函数所属的类MiniMapHelper对象。