为了账号安全,请及时绑定邮箱和手机立即绑定

jquery.data 就是在一个全局对象上存取数据?

jquery.data 就是在一个全局对象上存取数据?

动漫人物 2018-12-21 23:18:15
jquery.data的方法根本原理,就是在一个全局的对象里面进行数据的存储是吗?
查看完整描述

1 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

jQuery 1.x版本中是这么处理的,附加给DOM的data被存储到jQuery.cache对象中,获取$(el).data('a')的时候先查找el[jQuery.expando]的值,使用这个值作为keyjQuery.cache对象中查找value,返回值就是与该DOM元素关联的data对象,最终获取路径则为jQuery.cache[el[jQuery.expando]].data['a']

之所以要这么做是因为IE8下把一个引用对象附加给DOM,再把该DOM移除后那个附加上来的对象就无法被释放了,从而造成内存泄漏。

现代浏览器中不会出现这种现象,所以从jQuery 2.x及之后的版本中不再这么处理data了。


查看完整回答
反对 回复 2019-01-07
  • 1 回答
  • 0 关注
  • 502 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信