Após vermos a aplicação do conceito de JavaScript Orientação a Objetos, um outro ponto muito importante no desenvolvimento JavaScript é a otimização do código.
Grandes aplicações precisam ter alguns cuidados com a otimização, pois infelizmente alguns navegadores não conseguem manipular e organizar corretamente a execução dos códigos JavaScript. Temos como principal exemplo o Internet Explorer, que aumenta o consumo de memória a cada segundo de uso, sem nunca liberar memória (mesmo após a página ter sido fechada).
Declarar somente uma vez por escopo. Perceba no exemplo abaixo, que usamos somente uma declaração no escopo principal da classe (declaramos 3 propriedades e 1 método):
var Carro = function() {
var marca,
modelo,
cor,
setCorBasica = function() {
cor = "branco";
};
return {
getCor : function() {
return cor;
},
setCor : function(corTemp) {
cor = corTemp,
corTemp = null;
}
};
};No exemplo acima, no método setCor(), limpamos a variável corTemp, pois era uma variável somente utilizada no momento de processamento do método.
Instanciar classes sob demandas, e principalmente ter somente uma instância por classe, sem que o desenvolvedor saiba explicitamente o nome do objeto que contém a instância.
Perceba no exemplo abaixo, que estamos criando uma instância da classe Carro(), somente após a necessidade de se utilizar um método do mesmo, e sem saber o nome explícito da instância:
Carro.instance = null,
Carro.getInstance = function() {
if (!Carro.instance)
Carro.instance = new Carro();
return Carro.instance;
};
Carro.getInstance().setCor("preto");
alert(Carro.getInstance().getCor());Referência: Henrique Oliveira
Existem três maneiras de se fazer um laço no JavaScript:
A maneira mais performática para se programar um laço é utilizando o while. Considerando que o objeto a ler é um array, para ser mais performático se deve ler da última posição para a primeira:
i = carros.length;
while (i > 0) {
i--,
alert(carros[i]);
}São poucos detalhes, que em uma grande aplicação fazem muita diferença.
Fernando Tessmann