Este retorno de excepción de JavaScript (o rendimiento) que no está en función se produce si se escribe una instrucción de retorno/rendimiento fuera del cuerpo de la función.
Mensaje:
SyntaxError: 'return' statement outside of function (Edge) SyntaxError: return not in function (Firefox) SyntaxError: yield not in function (Firefox)
Tipo de error:
SyntaxError
¿Qué sucedió?
La instrucción return o yield se llama fuera del cuerpo de la función o puede que falte un corchete en el código.
Ejemplo 1: en este ejemplo, falta un corchete después de la declaración ‘si’, por lo que se produjo el error.
<!DOCTYPE html> <html> <head> <title>Syntax Error</title> </head> <body> <script> var GFG = function(val) { if (val === 'GFG') return 'Text1'; }; /* looks like function ends here, because of missing opening curly bracket after 'if' keyword*/ if (val === 'Geek') { return 'Text2'; } } document.write(GFG()); </script> </body> </html>
Salida (en consola):
SyntaxError: 'return' statement outside of function
Ejemplo 2: en este ejemplo, la declaración de devolución se escribe después de que la función ha finalizado, por lo que se ha producido el error.
<!DOCTYPE html> <html> <head> <title>Syntax Error</title> </head> <body> <script> var GFG = function(val) { if (val === 'GFG') return 'Text1'; if (val === 'Geek') { return 'Text2'; } }; return "Text3"; // this is outside the function body. document.write(GFG('GFG')); </script> </body> </html>
Salida (en consola):
SyntaxError: 'return' statement outside of function
Publicación traducida automáticamente
Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA