SyntaxError: missing } after function body
There is a syntax mistake when creating a function somewhere. Also check if any closing curly brackets or parenthesis are in the correct order. Indenting or formatting the code a bit nicer might also help you to see through the jungle.
Oftentimes, there is a missing curly bracket in your function code:
var charge = function() { if (sunny) { useSolarCells(); } else { promptBikeRide(); };
Correct would be:
var charge = function() { if (sunny) { useSolarCells(); } else { promptBikeRide(); } };
It can be more obscure when using IIFE, Closures, or other constructs that use a lot of different parenthesis and curly brackets, for example.
(function() { if (true) { return false; } );
Oftentimes, indenting differently or double checking indentation helps to spot these errors.
(function() { if (true) { return false; } });
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Missing_curly_after_function_body