Capítulo 12: Buenas Prácticas y Proyecto Integrador
12.1. Minimizar Reflow y Repaint (Rendimiento)
Evitar reflows innecesarios:
// ❌ MALO: 5 reflows
elemento.style.width = '100px'; // Reflow 1
elemento.style.height = '100px'; // Reflow 2
elemento.style.margin = '10px'; // Reflow 3
// ✓ MEJOR: 1 reflow usando clase
elemento.classList.add('tamaño-grande');
// ✓ MEJOR: Usar cssText
elemento.style.cssText = 'width: 100px; height: 100px; margin: 10px;';Lectura después de escritura:
// ❌ MALO: Fuerza reflow
elemento.style.width = '100px';
console.log(elemento.offsetWidth); // Reflow forzado
elemento.style.height = '100px';
console.log(elemento.offsetHeight); // Reflow forzado
// ✓ MEJOR: Leer luego escribir
console.log(elemento.offsetWidth); // Una lectura
console.log(elemento.offsetHeight); // Una lectura
elemento.style.width = '100px'; // Una escritura
elemento.style.height = '100px'; // Una escrituraDocumentFragment para inserciones masivas:
12.2. Separación de responsabilidades (HTML/CSS/JS)
12.3. Gestión de memoria: Limpiar eventos
12.4. Accesibilidad (A11Y) desde JavaScript
12.5. Estructura de una aplicación SPA vainilla
12.6. Proyecto integrador: Todo App
Resumen del Capítulo
💡 Conceptos Clave:
🤔 Preguntas de Reflexión:
Última actualización
¿Te fue útil?