在我们做项目的时候,经常遇到一些数据非常大且没有必要进行及时查询的数据。如下拉框数据等。那么在此时我们可以在启动应用的时候在页面将这些数据进行缓存起来,如果缓存中有我们需要的数据则直接读缓存,如果缓存中没有我们需要的数据,则进行查询数据库。闭包可以为我们做到这点。
var CachedSearchData = (function () {
var cacheData = [], count = cacheData.length;
return {
getSearchData: function (id) {
if (id in cacheData) {//如果结果在缓存中
return cacheData[id];//直接返回缓存中的对象
} else {
//到数据库中查找
alert("search in database");
}
},
clearSearchData: function (id) {
if (dsid in cache) {
cache[dsid].clearSelection();
}
}
};
})();
CachedSearchData.getSearchData(77);