@lizlalala
2016-08-01T08:29:57.000000Z
字数 584
阅读 1358
未分类
最近在做基于百度地图的可视化定制,遇到了函数绑定的问题,一直没有明白,下面po一个小小的栗子把。
//函数定义function showPopTips(str, e,ee, overlayObj) {myTool.loadingPopup(hotmapBox);//this:switch (str){case "删除":deleteVobj.showPop = true;break;case "保存":case "编辑":editVobj.fenceName = overlayObj.name;editVobj.showPop = true;break;case "离开":leaveVobj.showPop = true;}}//函数调用var curPolygonObj = {overlay: e.overlay,saved: false,name: "围栏" + (oldOverlaysCount + 1)}markerMenu.addItem(new BMap.MenuItem('删除', showPopTips.bind(curPolygonObj,"删除")));
可以看到。bind的第一个参数是作为scope存在的,表明了绑定后的showPoTips中的this的指向。我们在控制台打this可以看到

就是我们绑定的对象。而绑定时的其他参数就是依次作为showPopTip的参数依次下去的。
