京学

在前端开发中遇到一个问题,for循环内使用let定义的变量在打包后变成var,导致曝光埋点数据错误。通过立即执行函数实现闭包解决了这个问题。当内容列表变化时,使用全局变量保持曝光数据同步,确保hover时数据正确。博客讨论了JavaScript闭包的应用以及在列表曝光和更新场景中的解决方案。
摘要由CSDN通过智能技术生成

问题&知识


在公司写曝光埋点时,遇到了一些小问题。

  1. 在for循环中使用let定义的变量在打包时被转成了var,导致曝光埋点的数据全部都是for循环中最后一个数据的值。这就涉及到了闭包的问题了,所以我使用了一个立即执行函数包装曝光函数给它传递变量值实现闭包。
  2. 内容列表在点击换一换按钮后会更换列表项,这时需要重新曝光数据列表,因为再次hover显示列表时同步的是上次离开时的内容,所以鼠标再次hover上去时曝光要做到同步,这时我是使用了一个全局变量存放曝光数据,在改变列表内容时也同步改变全局变量的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值