Comprobar si una variable u objeto es un entero en JavaScript

Probablemente hayas echado de menos alguna vez en JavaScript una función isInt(), es decir, que le pases una variable y te devuelva verdadero si es entero y falso en caso contrario. Esta comprobación es muy típica en el envío de formularios: edades, componentes de una fecha o cualquier otra cantidad que no puede tener decimales.

Acabo de tener esta necesidad y aquí os traigo la función que hace justo esto:

function esEntero(x){
	var y = parseInt(x);
	if (isNaN(y)) 
		return false;
	return x == y && x.toString() == y.toString();
}

Aquí tenéis la función y aquí os dejo su correspondiente explicación, odio copiar y pegar código de Internet si no sé perfectamente cuál es el por qué de cada sentencia.

Leer más » 9 Comentarios

Enviar múltiples parámetros a la vez con JavaScript

Cuando trabajamos con JavaScript haciendo uso o no de jQuery, es frecuente tener que enviar muchos parámetros a una función o enviar un número indeterminado de parámetros. El otro día explicábamos cómo manejar parámetros opcionales en JavaScript y hoy os traemos una pequeña nota relacionada, que seguro os resultará útil: enviar un múltiples parámetros a la vez usando una sola variable.

La idea es la siguiente, tengo una función de este estilo:

function nuevoCliente(nombre, apellidos, edad, ciudad, cp, web, email)
{

}

La llamada sería:

nuevoCliente("Javier", "Carazo", 26, "Córdoba", 14000, "linuxhispano.net",
 "mimail@correo.es");

Es posible, que haya veces que no quiera enviar todo o directamente son tantos los parámetros a enviar que no es funcional usar este método tradicional.

Sin embargo, podemos usar el siguiente modelo, que seguro os resulta mucho más cómodo:

var parametros = {
 parametro0 = valor0,
 parametro1 = valor1,
 ...
}

miFuncion(parametros);

Para nuestro caso sería:

Leer más » 3 Comentarios

Parámetros opcionales en funciones de JavaScript

El desarrollo web siempre tiene dos interacciones: la que se produce en el lado del servidor y la que se produce en el lado del cliente. Esta segunda cada vez tiene más relevancia para conseguir una mejor experiencia del usuario y JavaScript es el responsable de ésto.

JavaScript es una de esas tecnologías que se pensó para abordar pequeños problemas, pero que por cuestiones de compatibilidad y aceleración tecnológica, se ha convertido en una tecnología versátil a la vez que necesaria para poder afrontar las exigencias de la actualidad.

En lenguajes como PHP, podemos hacer uso de parámetros opcionales (aquí explicaba su uso al hablar de cómo podíamos imitar la sobrecarga de funciones en el curso de PHP orientado a objetos), por ejemplo:

function crearPersona($nombre = "")

Y sus respectivas llamadas:

crearPersona("Javier");
crearPersona();

Sin embargo, en JavaScript no tenemos esta posibilidad, aunque al igual que ocurría con la sobrecarga de funciones en PHP, podemos imitarlo. Veamos cómo.

Leer más » 4 Comentarios

Emulador de Linux en Javascript

Si quieres usar Linux en su versión más simple, el núcleo compilado con su terminal, sin tener que instalar nada puedes hacerlo gracias a Javascript. Sólo necesitas de un navegador y una conexión a internet.

Puedes probar la mayoría de los comandos Linux para aprender y practicar si eres principiante. Sin embargo, si eres experto en este tema te sirve para comprobar hasta qué punto funciona el emulador.

Si somos estrictos, en realidad es un emulador de PC en Javascript donde se ha compilado la versión 2.6.20 del núcleo Linux. El hardware del PC consta de: CPU 32 bit x86, 8259 Programmble Interrupt Controller, 8254 Programmble Interrupt Timer, 16450 UART, Real Time Clock, etc. read more

Leer más » 2 Comentarios

¿Por qué usar el triple igual en JavaScript para comparar?

Los lenguajes no tipados de forma explícita, como JavaScript, suelen darnos a la vez comodidad, por no tener que escribir repetidamente el tipo; y quebraderos de cabeza, por los problemas que podemos tener en ocasiones al hacer igualaciones o pasar parámetros.

Sin embargo, el lenguaje nos provee de mecanismos para poder, al menos en parte, esquivar estos problemas. Uno de ellos es usar el triple-igual, en lugar de el doble-igual, a la hora de comparar.

¿Por qué?

Porque al usar el triple-igual obligamos al intérprete a que compare también tipos. Veamos ejemplos.

Ejemplos

alert(99 == "99"); // devolverá true
alert(99 === "99"); // devolverá false

Leer más » 4 Comentarios

Configurar AdSense (anuncios) y Analytics (estadísticas) en WPTouch

Una vez hemos instalado y configurado correctamente WPtouch, tal como vimos ayer, vamos a proceder configuraciones adicionales para que el portal se quede completamente funcional, también en su versión móvil.

Configuración WPtouch con Google AdSense y Google Analytics

Integrar estadísticas con Google Analytics

Las estadísticas son algo básico para un blogger, así que si usáis Google Analytics os interesará esta parte. Dentro de la configuración hay una parte que lo especifica: “AdSense, estadísticas y código a medida”, sin embargo, no es trivial la configuración.

Dentro de esa parte tenemos un textarea para rellenar con título: “Estadísticas y código a medida”. Deberemos introducir el siguiente código JavaScript, modificando sólo nuestro identificador de cliente de Google Analytics (es una cadena de la siguiente forma: “UA-XXXXXX-X). Veamos:

Leer más » 9 Comentarios

Karoshi en HTML y Javascript

Cada vez más los juegos se están pasando de Flash a la tecnología HTML y Javascript. Ya publiqué en su momento juegos como Biolab Disaster o un juego propio, como Milokoban.

El juego que presento hoy es Karoshi HTML5, donde el objetivo del juego es suicidarse en vez de sobrevivir. El juego está desarrollado con la herramienta Game Maker HTML5, si bien no es libre sí que permite desarrollar juegos con la tecnología HTML y Javascript.

Enlace: Karoshi HTML5.

Leer más » 2 Comentarios

Combina y comprime todos los ficheros CSS y JS para optimizar WordPress con WP Minify

Cada vez que accedemos a una web, independientemente del CMS que usemos (como si no usamos ninguno), el navegador empieza la descarga del sitio en HTML y todo lo que trae consigo (principalmente imágenes, hojas de estilo y ficheros de script del lado del cliente como JavaScript) mediante protocolo HTTP.

¿Qué problema tiene HTTP? Para cada petición de este tipo, abre y cierra la conexión. ¿Eso qué conlleva? Un aumento del tiempo de transferencia.

Como se puede observar, el problema en parte es abordable ya que aunque no podemos (por ahora) reunir todas las imágenes en una sola transmisión, sí que es cierto que podemos hacer que si tenemos 4 ficheros de hojas de estilo CSS y 10 ficheros JavaScript que cargar; podemos limitarnos a enviar un sólo fichero de cada tipo al navegador. El resultado no cambia y aceleramos el proceso.

Si usamos WordPress, podemos instalar WP Minify para que automatice este proceso por nosotros y nos olvidemos, junto con otra mejora, comprime ambos ficheros resultantes lo que lleva a una mejora mayor aún de la ya comentada.

Podéis ver el efecto de usarlo en las capturas siguientes:

WP Minify antes y después

Leer más » 2 Comentarios

Imprimir una página web con Javascript

Si estás programando con los estándares HTML, CSS y Javascript y necesitas que desde Javascript se imprima una página web, con la función window.print() podrás hacerlo.

Ejemplo

Código fuente del ejemplo

<!doctype html>

<html>

  <head>
    <title>Ejemplo para imprimir una web</title>
    <meta charset="utf-8" />
  </head>

  <body>
<input type="button" value="Imprimir" onclick="window.print()" />
  </body> read more

Leer más » 1 Comentario

“f.easing e.animatedproperties this.prop is not a function” arreglado

Hace no mucho, Alberto Hornero y yo, comenzamos un proyecto nuevo junto con otro amigo, Antonio Sánchez, llamado Red de Autores. La idea básica era crear una red de blogs gratuitos, sobre los que añadir un componente social. El proyecto es bastante joven, pero por ahora no podemos quejarnos de la aceptación.

Logo Red de Autores

El componente social lo pone BuddyPress, uno de los plugins más radicales que he conocido para WordPress, ya que introduce gran cantidad de características y básicamente permite hacer una pequeña red social en el sitio.

Adaptamos un tema, montamos todo y como normalmente ocurre con WordPress, todo perfecto sin tener que adentrarnos demasiado en el código, ni tener que dedicarle más tiempo del estrictamente necesario.

Sin embargo, cuando actualizamos a WordPress 3.2.1 comenzó a surgir un problema, había elementos que no se estiraban y aparte de los defectos estéticos, la consola de JavaScript se quedaba tan bloqueada, que acciones tan necesarias como comunes (por ejemplo subir una imagen) no podían efectuarse fácilmente.

Leer más » 2 Comentarios