Javascript 为什么他们使用引用而不是jQuery对象?

Javascript 为什么他们使用引用而不是jQuery对象?,javascript,jquery,Javascript,Jquery,在本教程中,他们使用containerElement.rating和starElement.rating存储评级 问题是:为什么??是否可以使用jQuery对象容器和星形 集装箱等级和星级等级 在他们的例子中,它是如何工作的: star.click(function() { containerElement.rating = this.rating;//What does 'this' refer to?? Star or starElement?? elem

在本教程中,他们使用containerElement.rating和starElement.rating存储评级

问题是:为什么??是否可以使用jQuery对象容器和星形

集装箱等级和星级等级

在他们的例子中,它是如何工作的:

star.click(function() {

        containerElement.rating = this.rating;//What does 'this' refer to?? Star or starElement??

        elements.triggerHandler("ratingchanged", {rating: this.rating});
      });

这是可行的/允许的,但不推荐。没有任何东西表明jquery不能在将来的某个时候突然决定添加
.star
属性


如果您需要将自己的数据附加到dom元素,那么请改用
someelement.data(key,val)
,它以一种保证不会与dom规范的任何未来更改冲突的方法添加数据。

可以像您所说的那样存储对象,但我相信本教程创建了一些循环引用(JS->dom->JS)这很糟糕。他们应该使用jQuery函数来避免循环引用,循环引用会导致内存泄漏。

请参阅jQuery文档。它保证
这个
将是发生click事件的DOM元素(这实际上是事件回调——甚至是“正常的回调”——在JavaScript中的一般工作方式)。注意:这只会导致Internet Explorer 7和更早版本中的内存泄漏。这对于其他浏览器和IE8+来说都不是问题。