It depends on the size, number of your scripts and how many of them you use at any time.
Many successful performance practices claim (and there’s good logic in that) that it is good to embed your JavaScript if it is small enough. This reduces the number of HTTP requests, but also prevents JavaScript browser caching, so you have to be very careful. That's why it is a practice to even embed your images (using base64 encoding) in some special cases (for example, look at Bing.com, all of their JavaScript is embedded).
If you have many JavaScript files and you use them at any time (not just as quantity, but as size), you can load them asynchronously (for example, using require.js). But this will require significant changes in the design of your application, if you did not consider it at first (and also increased the complexity of your application).
There is a practice to even cache your CSS / JavaScript in localStorage. For more information, you can read Web Performance Diary.
So, do something like a short flashback. If you have built-in JavaScript, this will reduce the first page load. Built-in JavaScript will not be cached by the browser, so each subsequent page downloader will be slower if you used external files.
If you use different external files, make sure that you use them, or at least most of them, because you may have redundant HTTP requests for files that are not really needed. This will lead to a better organization of your code, but probably to increase loading time (still do not forget the browser cache that will help you).
To put everything in one file, you will reduce your HTTP requests, but you will have one large file that will block the loading of your page (if you use synchronous JS file download) until the file is fully downloaded. In this case, I can recommend you put this large file at the end of the body.
You can use tools like YSlow to track performance.