вторник, 29 апреля 2008 г.

Зачем нам with ?

Иногда возникает соблазн поюзать with для изменения свойств обьекта. Удобно, красиво, но если протестировать, этот момент полуачается довольно ресурсоемким.
// Например, так лучше не делать !

with(obj.param){
height = 10;
width = 10;
}

// Проще и быстрее

var param = obj.param;
param.height = 10;
param.width = 10;

// Для IE разницы почти нету, а вот в FF прирост приличный !


вторник, 22 апреля 2008 г.

Оптимизируем getElementById

Данный метод пригодится для ajax приложений, где часто приходится обращаться к элементам по айди, оптимизировать можно кэшируя элементы, что приводит к серьезному приросту.


// Всё очень просто.
// В результате приблизительно +300% производительности.
var cache = [];
function $(id){
return !cache[id]?cache[id] =
document.getElementById(id):cache[id];
}

// немного модифицировал.
// ибо глобальные переменные часто приносят неприятности.
function $(id){
return !$.cache[id]?$.cache[id] =
document.getElementById(id):$.cache[id];
}
$.cache = [];