jquery cache 缓存

        做前端开发的朋友都用过javascript,用过js一定知道js缓存,说缓存其实不恰当,严格意义上这些缓存都是运行在内存中的,当你打开一个页面,该页面中的js就已经加入到了内存中,所以可以看到当打开网页多了浏览器占用的内容就越大,其实就是这个道理。

        在js中声明一个全局变量var map = new Array();那么该变量map其实就可以成为缓存,这就是一个简单的缓存例子,如果往这个array中多放些东西,就可以遍历里边的各个缓存内容了,只是这种写法效率比较低,没有jquery提供的cache效率高,至于jquery底层是怎么提高获取缓存效率的就不知道了,不过原理就是这样。

        下边说下jquery cache使用方法,先说下方法声明:

jQuery.extend({
    cache: {},
    uuid:
    expando           
});

jQuery.cache 空对象,用来缓存

jQuery.uuid 在最新1.9中删除了

jQuery.expando 每一个复制的jQuery独特标志,去掉了非数字,用在data时在HTMLElement或js对象上标志

方法的使用:

// 为HTMLElement提供缓存
$('#testCache').data("test", {first:16, last: "pizza!"});
$('#testCache span:first').text($("#testCache").data("test").first);
$('#testCache span:last').text($("#testCache").data("test").last);
 
// 为js对象提供缓存
var myObj = {};
$.data(myObj, 'name', 'jack');
console.log( $.data(myObj, 'name') );

如何存储:

1 如何在HTMLElement中存储缓存,数据最终存储在jQuery.cache中


<div id="testCache"></div>
<script>
  var el = document.getElementById('testCache');
  $.data(el, 'test', "value");
  console.log(el[jQuery.expando]); // 1
  console.log(jQuery.cache);    // {1: {data: {test:"value"}}};
</script>


2 在js对象中缓存,js直接用一个key来存储缓存对象

$.data(myObj, 'name', 'jack');

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值