En JavaScript, ¿qué es una función generadora? ¿Qué hace?


⭐ Introducción de la columna

Viaje de entrada al front-end: explore el maravilloso mundo del desarrollo web ¡Bienvenido al viaje de entrada al front-end! Si estás interesado, ¡puedes suscribirte a esta columna! Esta columna está hecha a medida para aquellos que están interesados ​​en el desarrollo web y acaban de ingresar al campo del front-end. Ya sea que sea un completo novato o un desarrollador con algunos conocimientos básicos, aquí le brindaremos una plataforma de aprendizaje sistemática y amigable. En esta columna, la actualizaremos todos los días en forma de preguntas y respuestas, presentándole puntos de conocimiento de front-end seleccionados y respuestas a preguntas frecuentes. A través del formato de preguntas y respuestas, esperamos responder más directamente a las preguntas de los lectores sobre la tecnología front-end y ayudar a todos a establecer gradualmente una base sólida. Ya sea HTML, CSS, JavaScript o varios marcos y herramientas comunes, explicaremos los conceptos de una manera simple y fácil de entender, y brindaremos ejemplos y ejercicios prácticos para solidificar lo que ha aprendido. Al mismo tiempo, también compartiremos algunos consejos prácticos y mejores prácticas para ayudarlo a comprender y aplicar mejor diversas tecnologías en el desarrollo front-end.

Insertar descripción de la imagen aquí

No solo eso, también lanzaremos periódicamente algunos tutoriales prácticos de proyectos para que puedas aplicar los conocimientos que has aprendido al desarrollo real. A través de la práctica de proyectos reales, podrá comprender mejor el flujo de trabajo y la metodología del desarrollo front-end y desarrollar su propia capacidad para resolver problemas y desarrollarse de forma independiente. Creemos que sólo mediante la acumulación y la práctica continuas podremos dominar verdaderamente la tecnología de desarrollo front-end. Entonces, ¡prepárate para el desafío y embárcate con valentía en este viaje de entrada frontal! Ya sea que esté buscando un cambio de carrera, mejorar sus habilidades o satisfacer sus intereses personales, estamos dedicados a brindarle los mejores recursos de aprendizaje y apoyo. ¡Exploremos juntos el maravilloso mundo del desarrollo web! ¡Únase al viaje de entrada al front-end y conviértase en un destacado desarrollador de front-end! Comencemos el viaje del front-end . La siguiente imagen presenta otras columnas que el blogger está generando además de esta columna (¡¡¡Omita la imagen a continuación y comencemos el texto de hoy!!!)

Insertar descripción de la imagen aquí


⭐ Descripción general de las funciones del generador

Las funciones generadoras son un tipo especial de función en JavaScript que se function*definen mediante la sintaxis. El objetivo principal de las funciones generadoras es crear secuencias iterables y evaluadas de forma perezosa. Le permiten generar valores de forma incremental y pausar y reanudar la ejecución mientras genera valores.

La función del generador se llama a través del objeto generador (Objeto Generador) y se devuelve un nuevo objeto generador cada vez que se llama a la función del generador. Los objetos generadores tienen un puntero interno que rastrea el estado de ejecución dentro de las funciones del generador.

Las funciones generadoras utilizan dos nuevas palabras clave para controlar el flujo de ejecución: yieldy yield*. Al hacerlo yield, puede producir un valor y pausar la ejecución de la función del generador, luego reanudar la ejecución más tarde. A través de yield*, puede pasar el control a otra función del generador.

⭐El papel de la función generadora

Las funciones del generador tienen las siguientes funciones principales:

  1. Carga diferida de datos: las funciones del generador le permiten generar datos a pedido en lugar de todos a la vez. Esto es útil para grandes conjuntos de datos o datos que requieren tiempo para calcularse.

  2. Programación asincrónica: las funciones del generador se pueden utilizar para escribir código asincrónico más legible, especialmente async/awaitcuando se combinan con . Puede utilizar operaciones asincrónicas para yieldpausar la ejecución y luego reanudarla una vez que se complete la operación.

  3. Gestión de estados: las funciones del generador pueden ayudarle a gestionar máquinas de estados complejas porque pueden pausar y cambiar entre diferentes estados.

  4. Secuencias infinitas: las funciones generadoras se pueden utilizar para generar secuencias infinitas, como secuencias de números naturales o la secuencia de Fibonacci.

A continuación se muestra un ejemplo de una función generadora que demuestra cómo crear un generador simple de una secuencia infinita de números naturales:

function* naturalNumbers() {
    
    
  let n = 1;
  while (true) {
    
    
    yield n;
    n++;
  }
}

const generator = naturalNumbers();

console.log(generator.next().value); // 输出 1
console.log(generator.next().value); // 输出 2
console.log(generator.next().value); // 输出 3
// ...

En este ejemplo, naturalNumbersla función generadora crea una secuencia infinitamente creciente de números naturales y generator.next()devuelve el siguiente número natural cada vez que se llama.

Las funciones del generador son herramientas poderosas y flexibles en JavaScript, especialmente adecuadas para manejar situaciones en las que necesita generar datos bajo demanda o administrar estados complejos. En JavaScript moderno, se async/awaitutilizan junto con para mejorar la legibilidad y el mantenimiento de la programación asincrónica.


⭐Escribe al final

Esta columna es adecuada para una amplia gama de lectores y es adecuada para principiantes en front-end; o aquellos que no han aprendido front-end y están interesados ​​en front-end, o estudiantes de back-end que desean mostrarse mejor y expandirse. algunos puntos de conocimiento de front-end durante el proceso de entrevista, por lo que si tiene los conceptos básicos de front-end y sigue esta columna, también puede ayudarlo en gran medida a verificar omisiones y llenar los vacíos. El resultado del contenido, si hay algún defecto en el artículo, puede contactarme a través del lado izquierdo de la página de inicio, avancemos juntos y, al mismo tiempo, también recomiendo varias columnas a todos. Los socios interesados ​​pueden suscribirse: Además de las columnas siguientes, también puedes ir a mi página de inicio para ver otras columnas;

Juegos front-end (gratis) Esta columna lo llevará a un mundo lleno de creatividad y diversión. Utilizando los conocimientos básicos de HTML, CSS y JavaScript, crearemos juntos varios juegos de páginas interesantes. Si es principiante o tiene experiencia en desarrollo front-end, esta columna es para usted. Comenzaremos con lo básico y lo guiaremos a través de las habilidades que necesita para crear un juego de páginas. A través de casos prácticos y ejercicios, aprenderá a usar HTML para crear estructuras de páginas, usar CSS para embellecer la interfaz del juego y usar JavaScript para agregar efectos interactivos y dinámicos al juego. En esta columna, cubriremos varios tipos de minijuegos, incluidos juegos de laberintos, rompeladrillos, serpientes, buscaminas, calculadoras, batallas de aviones, tres en raya, rompecabezas, laberintos y más. Cada proyecto lo guía a través del proceso de construcción en pasos claros y concisos, con explicaciones detalladas y ejemplos de código. Al mismo tiempo, también compartiremos algunos consejos de optimización y mejores prácticas para ayudarle a mejorar el rendimiento de la página y la experiencia del usuario. Ya sea que esté buscando un proyecto interesante para ejercitar sus habilidades de front-end o esté interesado en el desarrollo de juegos de páginas, la columna de juegos de front-end será su mejor opción. Haga clic para suscribirse a la columna de juegos front-end

Insertar descripción de la imagen aquí

Tutorial transparente de Vue3 [De cero a uno] (de pago) ¡Bienvenido al tutorial transparente de Vue3! Esta columna tiene como objetivo proporcionar a todos conocimientos técnicos integrales relacionados con Vue3. Si tiene algo de experiencia con Vue2, esta columna puede ayudarle a dominar los conceptos básicos y el uso de Vue3. Comenzaremos desde cero y lo guiaremos paso a paso para crear una aplicación Vue completa. A través de casos prácticos y ejercicios, aprenderá a utilizar la sintaxis de plantillas, el desarrollo de componentes, la gestión de estado, el enrutamiento y otras funciones de Vue3. También presentaremos algunas funciones avanzadas, como Composition API y Teleport, para ayudarlo a comprender y aplicar mejor las nuevas funciones de Vue3. En esta columna, lo guiaremos a través de cada proyecto en pasos claros y concisos, con explicaciones detalladas y código de muestra. Al mismo tiempo, también compartiremos algunos problemas y soluciones comunes en el desarrollo de Vue3 para ayudarlo a superar las dificultades y mejorar la eficiencia del desarrollo. Ya sea que desee aprender Vue3 en profundidad o necesite una guía completa para crear un proyecto front-end, la columna de tutoriales completos de Vue3 se convertirá en un recurso indispensable para usted. Haga clic para suscribirse a la columna Tutorial transparente de Vue3 [De cero a uno]

Insertar descripción de la imagen aquí

La Guía de introducción a TypeScript (gratuita) es una columna diseñada para ayudarle a empezar y dominar rápidamente las tecnologías relacionadas con TypeScript. A través de un lenguaje conciso y claro y un rico código de muestra, explicaremos en profundidad los conceptos básicos, la sintaxis y las características de TypeScript. Ya sea un principiante o un desarrollador experimentado, aquí puede encontrar el camino de aprendizaje que más le convenga. Desde características principales como anotaciones de tipo, interfaces y clases hasta el desarrollo modular, la configuración de herramientas y la integración con marcos de front-end comunes, cubriremos todos los aspectos de manera integral. Al leer esta columna, podrá mejorar la confiabilidad y la capacidad de mantenimiento del código JavaScript y proporcionar una mejor calidad del código y eficiencia de desarrollo para sus proyectos. ¡Embárquemonos juntos en este emocionante y desafiante viaje de TypeScript! Haga clic para suscribirse a la columna de la Guía de introducción a TypeScript

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/JHXL_/article/details/133631691
Recomendado
Clasificación