Sobre el autor
Sobre los revisores técnicos
Introducción
Abrir Firebug
Activar Firebug
Línea de comandos
Editor de comandos
Convenciones
Código fuente
Capítulo 1. Representar datos con valores
¿Qué son los tipos de valor?
Crear un literal de cadena
Crear un literal numérico
Generar un literal booleano
Asignarle un identificador a un valor
Crear un literal de objeto
Crear un literal de cadena
Crear un literal de función
Resumen
Capítulo 2. Conversión de tipos
Miembros de una cadena
Crear wrappers explícitamente
Convertir un valor a otro tipo
Resumen
Capítulo 3. Operadores
La precedencia de operadores y la asociatividad
Cómo utilizar los operadores de JavaScript
Resumen
Capítulo 4. Controlar el flujo
Escribir una condición if
Tomar una de varias rutas con un switch
Escribir un bucle while
Escribir un bucle do while
Escribir un bucle for
Enumerar miembros con un bucle for in
Condicionales más rápidas
Bucles más rápidos
Resumen
Capítulo 5. Herencia de miembros
Crear objetos con un constructor
Herencia clásica
Herencia de prototipos
Clonar miembros
Mixins
Resumen
Capítulo 6. Funciones y vectores
¿Por qué recurrir a funciones?
Las funciones son valores
Miembros de funciones
Carga condicional anticipada
Carga perezosa
Recursividad
Tomar prestados métodos con apply() o call()
Currying
Encadenar métodos
Funciones de clausura y de retorno
Pasar un objeto de configuración
Funciones callback
Memoización
Reducción global con módulos
Vectores
Resumen
Capítulo 7. Recorrer y modificar el árbol DOM
El árbol DOM
Resumen
Capítulo 8. Trabajar con las CSS
Interfaces DOM para trabajar con CSS
Aclarando un poco la jerga de las CSS
Descarga de los archivos de ejemplo
Consultar un atributo style
Manipular clases mediante scripts
Manipular reglas mediante scripts
Manipular hojas de estilo importadas
Añadir o borrar una regla
Consultar estilos globales de la cascada
Activar y desactivar hojas de estilo
Incluir o importar hojas de estilo
Embeber una hoja de estilos
Resumen
Capítulo 9. Detectar eventos
Trabajar con el objeto Event
Descarga de los archivos del proyecto
Carga condicional anticipada
Decirle a JavaScript que deje de detectar un evento
Impedir que tengan lugar acciones por defecto
Evitar que un evento recorra el árbol DOM
Escribir funciones auxiliares
Desplazar sprites
Comportamiento de arrastrar-y-soltar
Intercambiar pieles con el teclado
Iniciar comportamientos cuando el árbol DOM está disponible
Curémonos en salud
Resumen
Capítulo 10. Trabajar con el BOM
Descarga de los archivos del proyecto
Recordar los datos del visitante con las cookies
Conocer las preferencias del usuario
Crear animaciones con temporizadores
Escribir páginas dinámicas utilizando Ajax
Control mediante temporizadores
Convertir declaraciones de funciones en expresiones
Resumen alfabético