jQuery expando属性

tes*_*dtv 21 jquery

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

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

qwe*_*ymk 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 ] ] 是元素数据道具的对象

看看这个,看看我的意思