jQuery中data方法内部运行原理
2016-01-04 14:10
525 查看
data方法的作用是将指定变量存入缓存,当以后需要使用时只需要从缓存中取出即可,这只是其功能,在内部,该功能是如何实现的呢。使用data方法,有可能是存入属于DOM元素的变量,也有可能是存入输入javascript对象的变量。我们分别对其进行介绍:
其中标号表示各步骤的先后顺序。
①给该DOM元素分配一个唯一的id,并且取出jQuery中的expando变量值,v_expando
②创建一个变量,变量名为v_expando值,变量值为该id值。
③将变量存入jQuery中的cache中,并且与id值关联起来。
当想要取出给该DOM元素存储的临时变量,只需要根据id值以及变量名,即可从cache中取出变量。
注意:此时将o作为临时变量存储时,并非另复制一个对象副本,并存入对象副本,而是存入的原对象,当我们取出临时变量进行修改其中值时,原变量便被改变。
DOM元素
其中标号表示各步骤的先后顺序。
①给该DOM元素分配一个唯一的id,并且取出jQuery中的expando变量值,v_expando
②创建一个变量,变量名为v_expando值,变量值为该id值。
③将变量存入jQuery中的cache中,并且与id值关联起来。
当想要取出给该DOM元素存储的临时变量,只需要根据id值以及变量名,即可从cache中取出变量。
使用data方法的代码示例:
存储临时变量
var o = this.data('pagination',o);/*this代表一个DOM元素,比如$("#XXX"),在这里,data的作用为向this所指DOM元素中添加一个名为pagination的临时变量,该变量值为o.(o为事先定义好的,具有多个变量一个对象)*/
取出临时变量
var o_new = this.data('pagination'),/*o_new为一个新定义的对象,该段代码的作用是取出属于this所指DOM元素中的名为pagination的临时变量,将该变量赋值给o_new*/
注意:此时将o作为临时变量存储时,并非另复制一个对象副本,并存入对象副本,而是存入的原对象,当我们取出临时变量进行修改其中值时,原变量便被改变。
JAVASCRIPT元素
。。。。我也不太了解存入属于javascript元素的临时变量时内部的运行机制 哈哈~相关文章推荐
- jquery-懒加载技术(简称lazyload)
- jquery中attr和prop的区别
- jQuery提示插件alertify使用指南
- [转]jQuery实现清空table表格除首行外的所有数据
- 25个可遇不可求的jQuery插件
- 怎么写jQuery的插件
- 用jquery.pager.js实现分页
- jquery easyui datagrid使用参考
- 简单的表单验证插件(Jquery)
- jquery添加移除style/css属性
- jQuery TextEx 简介信息
- 这些年、我收集的JQuery代码 (转)
- JQuery调用iframe子页面函数/对象的方法
- 推荐两款基于JQuery的在线内容编辑器
- 转jQuery获取和操作元素的属性和CSS样式
- 如何通过jquery查出ID以XX开头,以XX结束的元素?
- jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?
- 15款最佳的 jQuery 分步引导插件
- zepto和jquery的区别,zepto的不同使用8条小结
- jquery如何获得td标签中value属性的值