将选定/找到的元素存储在变量中会增加性能吗?

Joh*_* B. 6 performance jquery jquery-selectors

我创建了一个jQuery插件来修改我的导航.不幸的是我要访问和修改几乎所有的子元素,例如<ul>,<li>,<a>等等.那些元素需要一到四次.

我应该将它们全部存储在变量或者我应该访问他们喜欢$('.my-nav').find('li')$('.my-nav').find('li')需要的时候?

对于25行代码,有5个变量似乎浪费了内存.但我不知道这是否是一个可以接受的权衡,以获得更高的性能.

我创建了一个小提琴来说明其含义:http://jsfiddle.net/Yj35Q/2/

got*_*itz 8

始终是缓存节点的好习惯.您也可以使用http://jsperf.com/对自己进行基准测试

除非要存储大量的DOM树或其他内容,否则您不必担心存储空间变量需要多少.与JS引擎定位节点所需的工作量相关性更大.

编辑
甚至更好,你可以找到其他人已经创建的现有测试用例
http://jsperf.com/ns-jq-cached/4