这两者之间有什么区别,我应该使用哪一个?

时间:2015-02-27 18:31:40

标签: javascript jquery

这两者之间有什么区别,我应该使用哪一种?

$.data(this, 'timer');

VS

$(this).data('timer');

2 个答案:

答案 0 :(得分:0)

没有区别,第二个更好用,但仅用于intellisense

答案 1 :(得分:0)

结果没有任何有意义的差异。差异实际上只是编码风格的问题。

第一个是一个更加程序化的方法,你可以调用一个全局命名空间的函数并传递几个参数。

第二个更符合面向对象的jQuery样式,你可以在其中创建一个包含一个或多个DOM元素的jQuery对象,然后在其上调用方法来影响这些元素或从这些元素中获取信息。


如果您对这两种方法之间的性能细节感兴趣,那么您必须在多个浏览器中设计性能测试和测量。但是,如果你真的想要优化给定操作的性能,你可能会完全从代码中删除jQuery,因为它很少是最快的方法。它节省了大量的编码时间,并提供了出色的跨浏览器支持(这对于大多数代码而言都非常值得),但通常会以某些性能为代价。