【原创】jQuery1.8.2源码解析之jQuery.data
数据缓存,jQuery现在支持两种: 1. dom元素,数据存储在jQuery.cache中。 2.普通js对象,数据存储在该对象中。 以下是源代码: 1 var rbrace = /^(?:\{.*\}|\[.*\])$/, 2 rmultiDash = /([A-Z])/g; 3 4 // 首先是对jQuery对象自身的扩展 5 jQuery.extend({ 6 // 即jQuery.cache,负责存储dom元素的缓存数据 7 cache: {}, 8 9 // removeData时,缓存的数据被清除,返回的当时对应的id,以便再利用 10 deletedIds: [], 11 12 // Please use with caution 13 // 将数据存储到jQuery.cache中时,需要唯一id,用它来维护 14 uuid: 0, 15 16 // Unique for each copy of jQuery on the page 17 // Non-digits removed to match rinlinejQuery 18 // 内部key(随即生成),之后会作为key添加到dom的属性集中,而key对应的value则是该dom对应的缓存对象 19 expando: "jQuery" + ( jQuery.fn.jquery + Math.random(