JavaScript SyntaxError: el retorno no está en función

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *