jQuery数据缓存data(name,value)详解及实现
发布时间:2018-08-18 21:27:19 所属栏目:业界 来源:站长网
导读:作为一名措施员,一提到缓存你很轻易遐想到客户端(赏识器缓存)和处事器缓存。客户端缓存是存在赏识者电脑硬盘上的,即赏识器姑且文件夹,而处事器缓存是存在处事器内存中,虽然在一些高级应用场所也有专门的缓存处事器,乃至有操作数据库举办缓存的实现。
作为一名措施员,一提到“缓存”你很轻易遐想到“客户端(赏识器缓存)”和“处事器缓存”。客户端缓存是存在赏识者电脑硬盘上的,即赏识器姑且文件夹,而处事器缓存是存在处事器内存中,虽然在一些高级应用场所也有专门的缓存处事器,乃至有操作数据库举办缓存的实现。虽然这些都不在本文的接头范畴,本文要接头的是最风行的JavaScript框架jQuery的数据缓存实现道理,这是jQuery1.2.3版开始插手的新成果。 一、 jQuery数据缓存的浸染 jQuery数据缓存的浸染在中文API中是这样描写的:“用于在一个元素上存取数据而停止了轮回引用的风险”。怎样领略这句话呢,看看我下面的举例,不知道合不吻合,假如你有更好的例子可以汇报我。 (1) 存在轮回引用风险的例子(留意getDataByName(name)要领中的for in语句): Copy to Clipboard引用的内容:[www.veryhuo.com] <a href="javascript:void(0);" onclick="showInfoByName(this.innerHTML);">Tom</a><br/> <a href="javascript:void(0);" onclick="showInfoByName(this.innerHTML);">Mike</a> <script type="text/javascript"> var userInfo = [ { "name": "Tom", "age": 21, "phone": "020-12345678" }, { "name": "Mike", "age": 23, "phone": "020-87654321" }]; function getDataByName(name) { for (var i in userInfo) { if (userInfo[i].name == name) { return userInfo[i]; break; } } } function showInfoByName(name) { var info = getDataByName(name); alert('name:' + info.name + 'n' + 'age:' + info.age + 'n' + 'phone:' + info.phone); } </script> (2) 优化轮回引用风险的例子(本例子着实与jQuery缓存实现道理差不多了,本例子重点在于改写了userInfo这个JSON布局,使name与工具key直接对应): Copy to Clipboard引用的内容:[www.veryhuo.com] <a href="javascript:void(0);" onclick="showInfoByName(this.innerHTML);">Tom</a><br/> <a href="javascript:void(0);" onclick="showInfoByName(this.innerHTML);">Mike</a> <script type="text/javascript"> var userInfo = { "Tom": { "name": "Tom", "age": 21, "phone": "020-12345678" }, "Mike": { "name": "Mike", "age": 23, "phone": "020-87654321" } }; function showInfoByName(name) { var info = userInfo[name]; alert('name:' + info.name + 'n' + 'age:' + info.age + 'n' + 'phone:' + info.phone); } </script> (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |