全爬树
2016-01-21 12:55
/*1:jQuery.data(element,[key],[value]),每一个element都会有自己的一个{key:value}对象保存着数据,所以新建的对象就算有key相同它也不会覆盖原来存在的对象key所对应的value,因为新对象保存是在另一个{key:value}对象中*/
var dom = $(“div”);
$.data(dom,‘1’,‘111’);
$.data(dom,‘2’,‘222’);
所以这样子是新建一个dom?
$.data()方式绑定到js对象上(a,b)。而 var a = $("#div") , b = $("#div")中a与b是不同的。所以即使同一dom对象的不同js对象添加相同属性当然也是不同的
这样只是新建了对一个匹配对象的一个引用
我的理解是这样:
新的变量,对应新的cache对象。$.data()针对的是变量对应的cache对象
dom.data()操作的是元素本身对应的cache对象,所以会有覆盖
新建一个变量,变量的名字叫做dom
jQuery源码解析(架构与依赖模块)
84047 学习 · 280 问题
相似问题