Dado un documento HTML que contiene alguna función de JavaScript y la tarea es verificar si la función dada es una función de generador o no con la ayuda de JavaScript. Hay dos ejemplos para resolver este problema que se discuten a continuación:
Ejemplo 1: En este ejemplo, usaremos la propiedad functionName.constructor.name . Si el valor de la propiedad functionName.constructor.name es igual a ‘GeneratorFunction’, entonces la función dada será la función generadora.
<!DOCTYPE HTML> <html> <head> <title> Check whether a given function is a generator function or not in JavaScript </title> </head> <body style="text-align:center;"> <h1 style="color:green;"> GeeksForGeeks </h1> <p style= "font-size: 19px; font-weight: bold;"> Click on button to check whether a function is generator or not? </p> <button onClick="GFG_Fun()"> click here </button> <p id="GFG" style="color: green; font-size: 24px; font-weight: bold;"> </p> <script> var gfg = document.getElementById('GFG'); function * generatorFunction() { yield 10; yield 30; } function isGenerator(fn) { return fn.constructor.name === 'GeneratorFunction'; } function GFG_Fun() { gfg.innerHTML = isGenerator(generatorFunction); } </script> </body> </html>
Producción:
Ejemplo 2: En este ejemplo, usaremos el operador instanceof . Primero defina la función del generador y luego verifique que el valor devuelto por el operador instanceof sea igual o no a la función del generador.
<!DOCTYPE HTML> <html> <head> <title> Check whether a given function is a generator function or not in JavaScript </title> </head> <body style="text-align:center;"> <h1 style="color:green;"> GeeksForGeeks </h1> <p style= "font-size: 19px; font-weight: bold;"> Click on button to check whether a function is generator or not? </p> <button onClick="GFG_Fun()"> click here </button> <p id="GFG" style="color: green; font-size: 24px; font-weight: bold;"> </p> <script> var gfg = document.getElementById('GFG'); function *genFun() { yield 10; yield 30; } function GFG_Fun() { var GeneratorFunction = (function*(){ yield undefined; }).constructor; gfg.innerHTML = genFun instanceof GeneratorFunction; } </script> </body> </html>
Producción:
Publicación traducida automáticamente
Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA