SyntaxError: return not in function
The JavaScript exception "return (or yield) not in function" occurs when a return
or yield
statement is called outside of a function.
Message
SyntaxError: 'return' statement outside of function (Edge) SyntaxError: return not in function (Firefox) SyntaxError: yield not in function (Firefox)
Error type
What went wrong?
A return
or yield
statement is called outside of a function. Maybe there are missing curly brackets somewhere? The return
and yield
statements must be in a function, because they end (or pause and resume) function execution and specify a value to be returned to the function caller.
Examples
Missing curly brackets
var cheer = function(score) { if (score === 147) return 'Maximum!'; }; if (score > 100) { return 'Century!'; } } // SyntaxError: return not in function
The curly brackets look correct at a first glance, but this code snippet is missing a {
after the first if
statement. Correct would be:
var cheer = function(score) { if (score === 147) { return 'Maximum!'; } if (score > 100) { return 'Century!'; } };
See also
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Bad_return_or_yield