JavaScript 闭包函数纪实(一)

上一篇地图编程过程中,循环绘制多边形覆盖物(土地),在每一个覆盖物绘制完成的同时添加覆盖物点击函数,由于地图接口不支持给覆盖物添加ID等属性接口,所以绘制的覆盖物点击是不能获取覆盖物id,也就不能通过点击获得覆盖物土地在数据库的信息,所以只能在循环绘制覆盖物的同时给每一个覆盖物添加点击事件,点击事件中记录覆盖物id,然后通过id查询覆盖物数据库信息,但是结果令人大失所望,这种方法所有覆盖物的点击事件的id都是和最后绘制的覆盖物id一样,经过多番查阅用JavaScript闭包函数得以解决,以前看到闭包觉得没有用,今天终于体会到其中奥秘了。

var dblclickFunction = function (i) {//鼠标双击事件
                    return function (event) {
                        console.log(i);
                        //将点增加到视野范围内
                        var path = polygon.getPath();//双击放大视野
                        borderArray = borderArray.concat(path);
                    };
                }(arr[i-1].bordercode);

  polygon.addEventListener('click',clickFunction);//鼠标点击事件

 

JavaScript闭包函数可以把传进去的变量保存下来,这就是他的有点之一。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值