jQuery expando属性

时间:2011-08-26 06:19:14

标签: jquery

我对jQuery expando属性有疑问。基本上我想用非常简单的术语来理解:

  1. 整个过程如何工作,就像jQuery添加expando属性一样,
  2. 将其添加到任何元素的标准是什么
  3. 使jQuery轻量化的确切原因是什么
  4. jQuery缓存究竟有什么作用?

1 个答案:

答案 0 :(得分:52)

问题3似乎不合适,但其余部分:

  • jQuery.expando是一个字符串,基本上是'jQuery' + uniqueid(只是一个唯一值)

在1.4.4版之前,uniqueid为current timestamp

在版本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 ] ]是元素数据道具的对象

Take a look at this to see what I mean