我有一个关于jQuery expando属性的问题。基本上,我想以非常简单的方式了解:
- 整个过程是如何工作的,例如jQuery如何添加expando属性,
- 将其添加到任何元素的标准是什么,
- 使jQuery轻量级的确切原因是什么,
- jQuery缓存具体包含什么?
我有一个关于jQuery expando属性的问题。基本上,我想以非常简单的方式了解:
第三个问题似乎不合适,但对于其余部分:
jQuery.expando
是一个字符串,基本上是'jQuery' + uniqueid
(仅是独特的值)。在1.4.4版本之前,uniqueid是当前时间戳
。
之后从1.5.1版本开始,uniqueid是version+Math.random()
,其中用点替换了。要明确的是,"jQuery" + ( version + Math.random() ).replace( /\D/g, "" )
。
jQuery.cache
是一个对象,用于存储数据值。
Element[ jQuery.expando ]
是一个int值/键,是对象存储在jQuery.cache
中的位置。
jQuery.cache[ Element[ jQuery.expando ] ]
是该元素数据属性的对象。
Window
上? - tonix