jQuery缓存机制(三)】的更多相关文章

1.首先看一下涉及到jQuery缓存机制的代码结构: // 定义一些jQuery内部的变量,方便后续使用 var data_user, data_priv, // 后续会被赋值为两个Data对象 rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,  // 匹配花括号和方括号及其中间的内容 rmultiDash = /([A-Z])/g;//匹配大写字母 // 定义Data的构造函数 function Data() {} // 为Data构造函数添加一个uid属性 D…
缓存机制提供的入口有: $.data([key],[value]) // 存取数据 $.hasData(elem) // 是否有数据 $.removeData([key]) // 删除数据 $.acceptData(elem) // 检测元素是否可以使用缓存机制存数据 $(elem).data([key],[value]) // 存取数据 $(elem).removeData([key]) // 删除数据 已经阅读了缓存机制为用户提供的入口,并且重点阅读了$(elem).data()方法(其它方…
历史背景 开发中常常因为方便,把状态标志都写到dom节点中,也就是HTMLElement,缺点: 循环引用 直接暴露数据,安全性? 增加一堆的自定义属性标签,对浏览器来说是没意义的 取数据的时候要对HTML节点做操作 根本目的: 使用一种低耦合的方式让DOM和缓存数据能够联系起来 jQuery现在支持两种: •$("ele").data() jQuery.fn.extend({ data: function( elem, name, data ) { return jQuery.acc…
Data封装的方法的后面四个方法 和 dataAttr方法阅读. Data.prototype = { key: function( owner ) {}, set: function( owner, data, value ) {}, get: function( owner, key ) {}, // 该方法集中处理了几种情况.该方法看似没什么用,其实它是暴露给用户的data方法的统一处理入口.     access: function( owner, key, value ) {     …
1.从用户调用的入口开始阅读,因为这是我们比较熟悉的部分(主要做参数的调整,根据不同的完成不同的功能) // 进入jQuery Data模块的入口 使用方法有三种,不传参,传一个参,传两个参.示例$("div").data("name", "value") // 如果不传参则返回该元素上的所有数据,传一个参数则返回该元素上对应的属性值,传两个参数则为该元素绑定该属性并赋值 data: function( key, value ) { var at…
jQuery中有三种添加数据的方法,$().attr(),$().prop(),$().data().但是前面两种是用来在元素上添加属性值的,只适合少量的数据,比如:title,class,name等.对于json这种数据量大的,就适合用data方法来添加,而data方法就是jQuery缓存机制最重要的方法. jQuery中为什么要用缓存机制系统呢?因为DOM元素与js对象之间互相引用,在大部分浏览器下会引起内存泄漏.为了解决这个问题,jQuery就写了一个缓存机制系统.举个例子: var di…
ContentType组件 解决什么问题:表的id和数据id,来唯一确定一条数据 用: 插入数据: models:content_obj = GenericForeignKey('table_id', 'course_id') 存:models.PricePolicy.objects.create(period=5, price=18000, content_obj=degree) 查询数据: 1 通过课程查价格策略: policy = GenericRelation('PricePolicy'…
1 昨日回顾 版本控制 *** (1)url=127.0.0.1/course/?version=v100000 1 versioning_class=QueryParameterVersioning 'VERSION_PARAM':'version', 'DEFAULT_VERSION':'v2', 'ALLOWED_VERSIONS':['v1','v2'] 2 配置成全局:在setting里:QueryParameterVersioning (2)重要(以后建议用这种):127.0.0.1…
上一课主要讲了jQuery中的缓存机制Data构造方法的源码解析,这一课主要讲jQuery是如何利用Data对象实现有关缓存机制的静态方法和实例方法的.我们接下来,来看这几个静态方法和实例方法的源码解析: data_user = new Data();    //对外使用的数据缓存对象data_priv = new Data();    //内部的数据缓存对象,内部使用 jQuery.extend({      //在jQuery中添加静态方法 acceptData: Data.accepts,…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/qOMO0LIdA47j3RjhbCWUEQ 作者:李志刚 导语 Http 缓存机制作为 web 性能优化的重要手段,对从事 Web 开发的小伙伴们来说是必须要掌握的知识,但最近我遇到了几个缓存头设置相关的题目,发现有好几道题答错了,有的甚至在知道了正确答案后依然不明白其原因,可谓相当的郁闷呢!!为了确认下是否只是自己理解不深,我特意请教了其他几位小伙…