我知道我只是强迫症大约几毫秒的性能时间,但我只是想知道为什么以下内容对我来说是正确的。这似乎违背了我的逻辑。
我目前有一个 div 在悬停时淡出内部图像:
$('div.someclass').hover(function() {
$(this).children('img').fadeOut(function(){
// do something
});
}, function() {
// do something
});
经过一些测试,(循环选择器 1000 次,取 9 次测试的平均值)我使用了 3 个不同的选择器,得出的结论是速度是这样的:
$(this).children('img')
运行最快 -avg 约 400ms;$('img', this)
- 平均约 900 毫秒;和$(this).find('img')
运行最慢 - 平均约 1000 毫秒
这违背了拥有两个函数调用会比一个慢的逻辑。另外,我在内部读过,jQuery 将第二种情况转换为第三种情况,所以第三种情况会更慢吗?
有什么想法吗?