Javascript jQuery在获取属性值方面的性能

Javascript jQuery在获取属性值方面的性能,javascript,jquery,performance,Javascript,Jquery,Performance,在获取元素的属性值时,以下三者在性能上有什么不同吗 attr函数 事件对象的目标属性 c纯JS方法 毫无疑问,选项c比其他选项好得多: $('div').click(function() { var div_id = this.id; // rest of the logic }); 因为这在浏览器本身中是可用的,并且您没有使用任何外部库的另一种方法,就像其他两种方法一样。最肯定的是。不执行函数总是比执行函数快。如果你的应用程序/网站出现问题,是否会对整体性能产生影响,我对此表示怀

在获取元素的属性值时,以下三者在性能上有什么不同吗

attr函数

事件对象的目标属性

c纯JS方法


毫无疑问,选项c比其他选项好得多:

$('div').click(function() {
   var div_id = this.id;
   // rest of the logic
});

因为这在浏览器本身中是可用的,并且您没有使用任何外部库的另一种方法,就像其他两种方法一样。

最肯定的是。不执行函数总是比执行函数快。如果你的应用程序/网站出现问题,是否会对整体性能产生影响,我对此表示怀疑。但即使没有任何区别,你为什么要写$this.attr'id而不是$this.id。你为什么要问,而不是用,比如,@Felix,测试我的想法。然而,有些人喜欢严格遵守库约定,并将$this.attr'id作为jQuery编写代码的一种方式。@David,只要这不是罪过,我很乐意这样做。另外,我还了解了JS Perf-Thank.True等工具。我的态度是在有意义的地方使用库。e.target是一个标准的DOM特性。即使e来自jQuery。
$('div').click(function(e) {
    var div_id = e.target.id;
    // rest of the logic
});
$('div').click(function() {
    var div_id = this.id;
    // rest of the logic
});
$('div').click(function() {
   var div_id = this.id;
   // rest of the logic
});