测试通过
var adder = function(n){
var t = 10;
var org = n+"-"+Math.random();
return{
getinfo:function(){
document.writeln("\n\t"+org);
return n+t;
}
};
};
var CachedSearchBox = (function(){
var cache = {},count = [],totalCount = 20;
return {
attachSearchBox:function(dsid){
if(dsid in cache){
print("old:::"+cache[dsid].getinfo());
return cache[dsid];
}
var fsb = new adder(dsid);
print("new::::"+fsb.getinfo());
cache[dsid] = fsb;
if(count.length>=totalCount){
var out = count.shift();
print("del::::::::::::"+out.getinfo())
delete cache[out];
}
count.push(fsb);
return fsb;
},
clearSearchBox:function(dsid){
if(dsid in cache){
//cache[dsid].clearSelection();
delete cache[dsid];
count.shift();
}
},
getcount:function(){//获取对象的长度
print("array length:"+count.length);
return count.length;
},
setTotalCount:function(c){//设置缓存大小
totalCount = c;
}
};
})();
CachedSearchBox.getcount();
print("<br>");
(function(){
for(var i=0;i<100;i++){
CachedSearchBox.attachSearchBox(Math.ceil(Math.random()*120))
print("~~~~~");
CachedSearchBox.getcount();
print("<br>");
if(i==30)
CachedSearchBox.setTotalCount(40);
}
})();
function print(a1){
document.writeln(a1+"\n\t");
}
分享到:
相关推荐
一个使用map实现web缓存的工具类 可供web应用开发参考
数据缓存系统,主要是将一些可复用的数据临时存放一下,放下数据后面的再次调用。
基于vue计算属性实现的可以缓存的方法(可以传递参数的计算属性),应用场景:例如表格渲染大量数据,但是一列的数据是根据行计算出来的,改变是只需要针对那一行数据改变而改变,不用全部重新计算一遍
weak-lru-cache软件包提供了功能强大的缓存,可与JS垃圾回收(GC)和最近最少使用(LRU)和最少最近使用(LFU)的过期策略协同工作,以帮助缓存高度优化的缓存数据。 它使用LRU / LFU(LRFU)到期来保留引用的数据,...
模仿语言包式的简繁转换功能插件,轻松实现繁体和简体互换,很方便,只有一个JS文件。Std_StranJF.js文件只支持GB2312码,big52gb.js支持utf-8。 一、将繁简互换JS文件上传至空间: 如果您调用的是...
1,用js对私密信息加密可避免在网络中输入明文信息,被他人截取数据包而造成数据泄露。 2,避免缓存中自动缓存密码。比如在使用火狐浏览器登陆时,输入的用户名及密码自动缓存后,下次登陆无需输入密码就可实现登录...
MD5.js是通过前台js加密的方式对密码等私密信息进行加密的工具. 本MD5.js 共有6中加密方法:hex_md5(s), b64_md5(s) ,str_md5(s) ,hex_hmac_md5(key, data), b64_hmac_md5(key, data) ,...至少给攻击者造成了一个障碍.
缓存 LRU 和 ARC 缓存的实现。 需要 arc_cache 或 lru_cache。 后者与前者向后兼容。...传递可选长度的缓存并以秒为单位过期。 //128 items, expire after 10 seconds var arc_cache = require('ca
一个高性能的后端系统可以提高用户体验、增加系统的可扩展性和可维护性、本降低系统的运营成本。今天我们将讨论六种常用的后端性能优化方式:缓存化、服务化、异步化等。 一、硬件升级 硬件升级是后端性能优化的...
一个js的表格控件,采用缓存的机制实现表格分页,并且支持单元格编辑等多种功能,详情联系Q:344293750
3.4把一个ISO 8601格式的日期转换为Date对象可接受的一种格式 3.5创建一个特定的日期 3.6规划未来的一个日期 3.7记录流逝的时间 3.8创建一个延迟 3.9创建重复性定时器 3.10使用带有定时器的函数闭包 ...
react-keepalive-router 一介绍 基于react 16.8+ , react-router 4+开发的react缓存... KeepaliveRouterSwitch可以理解为常规的Switch,也可以理解为keepaliveScope ,我们确保整个缓存作用域,只有一个KeepaliveRou
MD5.js是通过前台js加密的方式对密码等私密信息进行加密的工具. 本MD5.js 共有6中加密方法:hex_md5(s), b64_md5(s) ,str_md5(s) ,hex_hmac_md5(key, data), b64_hmac_md5(key, data) ,...至少给攻击者造成了一个障碍.
资金管理器是一个使用JavaScript,React,Node.js,Express.js构建的预算网络应用程序,可让您管理多个银行帐户并跟踪支出。该项目仍在建设中,尚未托管。该网站具有完全的移动响应能力。通过Express-Session启用...
本文将详细介绍如何使用jsp设计和实现一个个人博客的网站,涵盖系统设计、功能需求、性能需求、系统架构、业务流程等多个方面的知识点。 系统设计 在设计个人博客网站时,需要考虑到系统的总体架构、物理结构、...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
BBBUG聊天室API端,基于Thinkphp6实现API部分,命令行运行后台歌曲下载与同步任务,Redis做歌曲队列... Websocket.js 为后端Websocket实现代码,可自行安装相关包后使用pm2等进程管理工具将后端websocket持久化运行。
1,用js对私密信息加密可避免在网络中传输明文信息,被人截取数据包而造成数据泄露. 2,避免缓存中自动缓存密码.比如在使用谷歌浏览器登陆时,输入的用户名和密码会自动缓存,下次登陆时无需输入密码就可以实现登陆,这样...
这是 JavaScript 中的 LRU(最近最少使用)缓存实现。 它非常高效并且使用两种数据结构来管理元素。 双向链表和地图为我们提供了以下信息: 时间复杂度: O(1) 空间复杂度: O(n) 这是通过在我们必须重新排列...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...