码迷,mamicode.com
首页 > Web开发 > 详细

jQuery源码笔记——数据缓存

时间:2014-11-11 20:58:25      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   sp   数据   div   on   

数据数据是为了解决内存泄露,他的原理是,当我们将数据存储到一个对象上面,实际上是将所有的数据存到一个单独的数据对象里,而这个对象只提供一个接口,这个接口可以访问自己存在数据对象里自己的数据。

这是一个简单的数据数据

var data = {};
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")) //winder
console.log(obj2) // Object { expando: 1}
console.log(data[1]) // Object { name: "winder" }

由代码可以很清楚看到,我们实际访问的是数据对象中,1引用的对象;而如何找到数据的位置,则由存储在对象上的一个接口属性提供。

当我们把他运用在jQuery中

jQuery源码笔记——数据缓存

标签:style   blog   io   color   ar   sp   数据   div   on   

原文地址:http://www.cnblogs.com/winderby/p/4090412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!