选择器和性能

Spe*_*age 4 javascript jquery mootools

当我在Mootools(或任何框架,真的)中执行以下操作时,对性能有任何好处吗?:

var elem = $('#elemId');    
elem.addClass('someClass');        
elem.set('some attribute', 'some value');
Run Code Online (Sandbox Code Playgroud)

基本上,我在DOM上更新了一些元素,我想知道是否在内存中创建变量并在需要时使用它比以下更好:

$('#elemId').addClass('someClass');    
$('#elemId').set('some attribute', 'some value');
Run Code Online (Sandbox Code Playgroud)

$('#elemId')各种不同的功能都在变化.

kob*_*obe 5

斯宾塞,

这称为缓存,它是最佳实践之一.

当你说

$('#elemId');
Run Code Online (Sandbox Code Playgroud)

每次都会去查询DOM,所以如果你说的话

var elem = $('#elemId');
Run Code Online (Sandbox Code Playgroud)

elem充当缓存元素并且大大提高了性能.

这在IE中非常有用,因为它有内存泄漏问题

准备好这份文件非常好

http://net.tutsplus.com/tutorials/javascript-ajax/14-helpful-jquery-tricks-notes-and-best-practices/