首页 > 代码库 > jQuery源码笔记——数据缓存
jQuery源码笔记——数据缓存
数据数据是为了解决内存泄露,他的原理是,当我们将数据存储到一个对象上面,实际上是将所有的数据存到一个单独的数据对象里,而这个对象只提供一个接口,这个接口可以访问自己存在数据对象里自己的数据。
这是一个简单的数据数据
var data =http://www.mamicode.com/ {};function set(obj,name,value){ //在对象上存储一个属性,用作访问数据的接口 obj.expando = 1; //初始化对象,并在我们接口所提供的位置存放数据 data[obj.expando] = {} data[obj.expando][name] = value}function get(obj,name){ //实际就是通过对象上的expando指定在数据中位置去访问的自己的数据。 return data[obj.expando][name]}var obj2 = {};set(obj2,"name","winder");console.log(get(obj2,"name")) //winderconsole.log(obj2) // Object { expando: 1}console.log(data[1]) // Object { name: "winder" }
由代码可以很清楚看到,我们实际访问的是数据对象中,1引用的对象;而如何找到数据的位置,则由存储在对象上的一个接口属性提供。
当我们把他运用在jQuery中
jQuery源码笔记——数据缓存
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。