|
JavaScript Ninja
Resig, John
|
Últimas novedades informática
|
El desarrollo cada vez tiene más peso y es más importante en las nuevas tecnologías, como las procedentes de HTML5 o de las nuevas versiones de ECMAScript. Pero no tiene sentido profundizar en las nuevas tecnologías o emplear las bibliotecas más utilizadas si no conoce debidamente las características fundamentales del lenguaje JavaScript. El desarrollo de navegadores y aplicaciones Web tienen un futuro brillante, proporcionando a los usuarios una enriquecedora experiencia y dinamismo. Pero estos fantásticos augurios se deben a desarrolladores Web con un sólido conocimiento de las partes más cruciales del lenguaje JavaScript, unido al deseo de escribir código elegante, rápido y dinámico que funcione en los diferentes navegadores, permitiendo crear aplicaciones Web que cobran vida. JavaScript Ninja es una exclusiva guía para conocer los principios de JavaScript y que sus lectores puedan convertirse en verdaderos ninjas de este lenguaje. |
indíce |
Introducción
¿A quién va dirigido este libro? ¿Qué encontrará en este libro? Convenciones Código fuente Sobre la ilustración de la cubierta Parte I. Prepárese para el aprendizaje
1. Introducción para el ninja
Selección de bibliotecas JavaScript Entender el lenguaje de JavaScript Compatibilidad con varios navegadores Buenas prácticas actuales Buena práctica actual: Comprobación Buena práctica actual: Análisis de la ejecución Resumen
2. Armarse con la comprobación y la depuración
Código de depuración Registro Puntos de parada Generación de pruebas Entornos de comprobación QUnit48 YUI Test JsUnit49 Entornos de comprobación única más recientes Fundamentos para crear un conjunto de pruebas La aseveración Grupos de comprobación Comprobación asincrónica Resumen
Parte II. Entrenamiento para el aprendiz
3. Las funciones son fundamentales
¿Qué implica la diferencia funcional? ¿Por qué es tan importante la naturaleza funcional de JavaScript? Ordenar con un comparador Declaraciones Ámbito y funciones Invocaciones De los argumentos a los parámetros de las funciones Invocación como función Invocación como método Invocación como constructor Invocación con los métodos apply() y call() Resumen
4. Utilizar las funciones
Funciones anónimas Recursión La recursión en funciones con nombre Recursión con métodos El problema del hurto de la referencia Funciones con nombre en línea La propiedad callee Diversión con funciones como objetos Almacenar funciones Funciones memorizadas por sí mismas Simular métodos de matriz Listas de argumentos con longitud variable Usar apply() para proporcionar argumentos variables Sobrecarga de funciones Comprobar funciones Resumen
5. Cerrar con clausuras
Cómo funcionan las clausuras Poner las clausuras en funcionamiento Variables privadas Devoluciones de llamada y temporizadores Moldear contextos de función Aplicar las funciones de forma parcial Comportamiento básico de las funciones Memorización Envolver funciones Funciones inmediatas Ámbito temporal y variables privadas Bucles Envoltorio de biblioteca Resumen
6. Orientación a objetos con prototipos
Instancias y prototipos Instanciación de objetos Tipificar objetos a través de los constructores Herencia y cadena de prototipos Prototipos DOM HTML Obstáculos Ampliar objetos Ampliar números Crear subclases de objetos nativos Cuestiones de instanciación Escribir código de clase Comprobar la serialización de las funciones Inicialización de subclases Conservar supermétodos Resumen
7. Expresiones regulares
¿Por qué son tan increíbles las expresiones regulares? Recordatorio de las expresiones regulares Explicación de las expresiones regulares Términos y operadores Compilar expresiones regulares Capturar segmentos coincidentes Realizar capturas simples Combinaciones que usan las expresiones globales Hacer referencia a capturas Grupos no capturados Sustituir usando funciones Resolver problemas frecuentes con las expresiones regulares Recortar una cadena Combinar líneas nuevas Unicode Caracteres de escapada Resumen
8. Hilos de ejecución y temporizadores
Cómo funcionan los temporizadores y el hilo de ejecución Configurar y eliminar temporizadores Ejecución del temporizador dentro del hilo de ejecución Diferencias entre recesos e intervalos Retraso mínimo del temporizador y fiabilidad Procesamientos de computación compleja Control del temporizador central Comprobación asincrónica Resumen
Parte III. Formación ninja
9. Alquimia ninja: Evaluación del código en tiempo de ejecución
Mecanismos de evaluación de código Evaluación con el método eval() Evaluación a través del constructor Function Evaluación con temporizadores Evaluación en el ámbito global Evaluación segura de código "Decompilación" de funciones Evaluación de código en acción Convertir JSON Importar código del espacio de nombres Compresión y ofuscación en JavaScript Reescribir código dinámico Etiquetas de comandos orientadas al aspecto Metalenguajes y DSL Resumen
10. Declaraciones With
Declaraciones with Hacer referencia a propiedades dentro de un ámbito with Asignaciones dentro de un ámbito with Consideraciones de rendimiento Ejemplos del mundo real Importar código con espacio de nombres Comprobación Crear plantillas con "with" Resumen
11. Desarrollar estrategias para varios navegadores
Elegir con qué navegadores seremos compatibles Las cinco consideraciones principales de desarrollo Errores y diferencias de navegador Soluciones para los errores del navegador Vivir con código externo y marcado Pérdida de características Regresiones Estrategias de implementación Soluciones seguras para varios navegadores Detección de objetos Simulación de características Problemas de navegador sin posibilidad de prueba Reducir las conjeturas Resumen
12. Atributos, propiedades y CSS
Atributos y propiedades DOM Escribir nombres compatibles con varios navegadores Restricciones en la escritura de nombres Diferencias entre XML y HTML Comportamiento de atributos personalizados Consideraciones de rendimiento Problemas de los atributos para varios navegadores Expansión DOM id/name Normalización de etiquetas (tabindex) Nombres de nodos Problemas de los atributos de estilo ¿Dónde están mis estilos? Escribir el nombre de propiedades de estilo La propiedad de estilo float Conversión de valores de píxeles Medir alto y ancho Ver a través de la opacidad Gestionar la rueda de color Buscar estilos computados Resumen
Parte IV. Formación maestra
13. Sobrevivir a los eventos
Vincular y desvincular controladores de eventos El objeto Event Gestión del navegador Almacenar información asociada de forma central Gestionar controladores de eventos Desencadenar eventos Eventos personalizados Propagación y delegación Delegar eventos a un ancestro Abordar las deficiencias de navegador El evento ready del documento Resumen
14. Manipular el DOM
Introducir HTML en el DOM Convertir HTML a DOM Insertar en el documento Ejecución de la secuencia de comandos Clonar elementos Eliminar elementos Contenidos de texto Configurar texto Obtener el texto Resumen
15. Motores de selectores CSS
API de Selectores W3C Usar XPath para encontrar elementos Implementación pura del DOM Análisis sintáctico del selector Encontrar los elementos Filtrar el conjunto Recursión y combinación Motor de selector de abajo a arriba Resumen alfabético
|
|
|