您的位置:时时app平台注册网站 > 彩世界网址 > 读jQuery之六 缓存数据功用介绍_jquery_脚本之家【

读jQuery之六 缓存数据功用介绍_jquery_脚本之家【

2019-11-28 03:08

Test

其间得以完结上也可以有分其他, 1,为JS对象提供缓存时,直接将数据保存在JS对象上。cache为JS对象。当时会鬼鬼祟祟的给JS对象加多个属性(雷同于jQuery16101803968874529044卡塔尔,属性值也是个JS对象。举个例子表明复制代码 代码如下: var myObj = {}; $.data(myObj, 'name', 'jack'); console.log; myObj的构造如下 复制代码 代码如下: myObj = { jQuery16101803968874529044 : { name : 'jack' } } “jQuery16101803968874529044”那一个字符串在data内部命名字为id,它其实正是jQuery.expando。上边已经提到它是在jQuery.js引进到页面后随意变化的。 2,为HTMLElement提供缓存时,却不会向来保存在HTMLElement上。而是保存在jQuery.cache上。cache为jQuery.cache。当时先给HTMLElement加多属性(相符于jQuery16101803968874529044卡塔尔国,属性值为数字。即只将有些数字保存在了HTMLElement上,不会直接将数据置入。那是因为IE老版本中大概会存在内部存款和储蓄器走漏危险。而HTMLElement怎样与jQuery.cache建设布局联系呢? 依然id。刚刚提到属性值数字正是id。举例表明 复制代码 代码如下:

jQuery.acceptData 用来剖断该因素是还是不是能担当多少,重返true或false。在jQuery.data中使用。 jQuery.data 那是提要求顾客端技士使用的艺术,它相同的时间是setter/getter。 1,传一个参数,重返附加在内定成分的兼具数据,即thisCachejQuery.data; // thisCache 2,传叁个参数,重回钦命的习性值jQuery.data; 3,传八个参数,设置属性及属性值jQuery.data;jQuery.data; 4,传多少个参数,第八个参数pvt仅提须求jQuery库本人行使。即jQuery._data方法中传true。因为jQuery的事件模块严重依赖于jQuery.data,为幸免人工的超大心重写在此个版本中走入的。 jQuery.removeData 删除数据。 上边是jQuery数据缓存模块的全体概述,下边详细说下jQuery.data方法。jQuery.data为二种对象提供缓存:JS对象和HTMLElement 复制代码 代码如下: // 为JS对象提供缓存 var myObj = {}; $.data(myObj, 'name', 'jack'); $.data; // jack // 为HTMLElement提供缓存

点击div[id=xx]将不会触发点击事件。 整个jQuery.data设置数据缓存的长河正是那样,明白的那一个。取多少的进度就好通晓了。不重复。 最终,小编会给zChian.js加多zChain.data/removeData方法,因为是“迷你版”,仅给HTMLElement增加数据缓存。请在乎。

不知注意到未有,jQuery.data还应该有第八个参数pvt,那一个参数只在jQuery._data中运用。复制代码 代码如下: // For internal use only. _data: function { return jQuery.data( elem, name, data, true ); }, jQuery._data从命名上就钦命它是私有的,使用jQuery的顾客端技师不应该去调用该方式。jQuery的API文书档案上也不会当面它。 jQuery的数量缓存模块从1.2.3到1.6.1差不离每一种版本都在变。jQuery._data的提议正是为着制止客户端技师覆盖/重写了默写模块。如jQuery事件模块中事件handler等就利用jQuery.data存款和储蓄,纵然重写了该模块。那么事件模块将瘫痪。因此非常增添了pvt参数及jQuery._data方法。 但若是您刻意要毁掉,那么还是能做的。如下 复制代码 代码如下:

给页面中div增添了自定义属性“data”及值“some data”。后续JS代码中选用getAttribute获取。 jQuery从1.2.3最早提供了data/removeData方法用来囤积/删除数据。1.6.1代码片段 复制代码 代码如下: jQuery.extend({ cache: {}, // Please use with caution uuid: 0, ... }); 即给jQuery加多了静态字段/方法,有jQuery.cache/jQuery.uuid/jQuery.expando等。下边分别介绍 jQuery.cache 空对象,用来缓存。它的构造较复杂。 jQuery.uuid 自增唯风流倜傥的数字。 jQuery.expando 字符串,使用Math.random生成,去掉了非数字字符。它看做HTMLElement或JS对象的属性名。 复制代码 代码如下: expando: "jQuery" ( jQuery.fn.jquery Math.random.replace, jQuery.noData JS对象,对于钦命的HTMLElement禁止使用data方法。如embed、applet。 jQuery.hasData 用来决断HTMLElement或JS对象是或不是持有数据。重回true或false。即只要调用了jQuery.data方法增多了质量,则赶回true。 复制代码 代码如下:

相关:

Test

有的是同学在项目中都开心将数据存款和储蓄在HTMLElement属性上,如 复制代码 代码如下:

el 上加多了品质jQuery.expando,值为id,这么些id是从1起来依次增加的。而id又作为jQuery.cache的性质。这样就HTMLElement就与jQuery.cache创设了关联。如图

aa

本文由时时app平台注册网站发布于彩世界网址,转载请注明出处:读jQuery之六 缓存数据功用介绍_jquery_脚本之家【

关键词: