猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
jquery.data 就是在一个全局对象上存取数据?
jquery.data的方法根本原理,就是在一个全局的对象里面进行数据的存储是吗?
动漫人物
浏览 503
回答 1
1回答
千巷猫影
jQuery 1.x版本中是这么处理的,附加给DOM的data被存储到jQuery.cache对象中,获取$(el).data('a')的时候先查找el[jQuery.expando]的值,使用这个值作为key从jQuery.cache对象中查找value,返回值就是与该DOM元素关联的data对象,最终获取路径则为jQuery.cache[el[jQuery.expando]].data['a']之所以要这么做是因为IE8下把一个引用对象附加给DOM,再把该DOM移除后那个附加上来的对象就无法被释放了,从而造成内存泄漏。现代浏览器中不会出现这种现象,所以从jQuery 2.x及之后的版本中不再这么处理data了。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续