06 junio, 2008

Un par de "trucos"

Web Reflection. Son viejos, pero siempre conviene recordarlos.

Es habitual usar Math.floor para redondear un cociente...

var centerWidth = Math.floor((something + someelse - someother) / 2);
...pero es posible hacer exactamente lo mismo (dividir por 2) usando el poco conocido operador de desplazamiento de bits >> :

var centerWidth = (something + someelse - someother)>>1;
Otra estructura muy habitual al buscar una cadena dentro de otra como...

if(myWord.indexOf(myChar) >= 0) ...
if(myWord.indexOf(myChar) !== -1) ...
... puede escribirse de forma mucho más clara así...

if(~myWord.indexOf(myChar)) ...
... donde ~ es un operador disponible en varios lenguajes que convierte un número entre 0 y N en otro entre -1 y -(N+1), por lo que si se le aplica al resultado de indexOf devolverá 0 si no lo encuentra o un valor negativo en caso contrario.

Publicar un comentario en la entrada

Últimos links en indiza.com