Javascript, el lenguaje de programación interpretado del lado del cliente más importante de la actualidad. Su potencial es muy grande pero, a su vez, guarda en su interior una serie de sorpresas y curiosidades bastante llamativas. Si quieres profundizar más, date un paseo por el artículo fuente de Smashing Magazine.
- Null es un objeto (desde luego, paradójico)
alert(typeof null); //alerts 'object'
- NaN es un número (otra paradoja más y el universo implosiona)
alert(typeof NaN); //alerts 'Number'
- array() False es True
alert(new Array() == false); //evaluates true
- La función replace() acepta como parámetro funciones callback
alert('10 13 21 48 52'.replace(/\d+/g, '*')); //replace all numbers with *
- Las expresiones regulares se pueden testear con test() además de con match()
alert(/\w{3,}/.test('Hello')); //alerts 'true'
- Puedes falsear el alcance de una variable o función (algo muy útil la verdad)
var animal = 'dog';
function getAnimal(adjective) { alert(adjective+' '+this.animal); }
getAnimal('lovely'); //alerts 'lovely dog';
- Las funciones se pueden ejecutar a si mismas... y al parecer sin caer en un bucle infinito ni nada
(function() { alert('hello'); })(); //alerts 'hello'
- Firefox no lee y devuelve los colores en hexadecimal sino en RGB
- 0.1 + 0.2 ! 0.3 (¿otra paradoja? Boooooommm!!!)
- Undefined puede ser definido, es decir, que no es una palabra reservada (fail!)
undefined = "I'm not undefined!";
var someVar;
alert(someVar == undefined); //evaluates false!
Vía | Smashing Magazine
No hay comentarios:
Publicar un comentario