【问题标题】:jQuery (in)efficient usagejQuery(in)高效使用
【发布时间】:2015-12-31 20:10:59
【问题描述】:

PHPStorm 告诉我

jQuery('#myform button[type="submit"]')

是 jQuery 的低效用法,建议这样更有效:

jQuery('#myform').find('button[type="submit"]')

你同意吗?

【问题讨论】:

  • 你是在快速连续使用这 100,000 次吗?如果没有,那我真的不会担心。恕我直言,可读性应该胜过任何微优化。
  • 这个jsPerf test 表示单个选择器稍微快一些,但是除非您循环超过 100,000 多个元素,否则您不会看到任何差异。如果是这样的话,你就有更大的问题了。
  • 2010 年可能更快。现在正好相反。
  • @RoryMcCrossan 完全同意,关键是如果你担心这个,那么你要么有惊人的代码,这是你最大的问题,要么你担心的是错误的事情。任何人的代码都不太可能那么好!

标签: jquery performance phpstorm


【解决方案1】:

根据 Chrome 上的 jsperf(对于这个非常具体的示例),看起来这实际上是倒退的。

http://jsperf.com/jquery-one-or-two

【讨论】:

  • 这个测试也有同样的结论,虽然结果要严格得多:jsperf.com/jquery-find-vs-context-2/47
  • 我预计这可能会随着您处理更多“现实世界”情况(更深的嵌套等)而发生显着变化,并且可能很大程度上取决于浏览器和 jQuery 版本。我希望除非您重复运行数千次,否则它可能完全无关紧要。感谢罗里的洞察力!
猜你喜欢
  • 2011-01-27
  • 2011-01-03
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-17
相关资源
最近更新 更多