Typically (and I say "typically" because there are no hard-and-fast rules in web development), JavaScript is part of the "view" and included with the HTML and CSS code that the browser renders into a web page. JavaScript does the little animation effects, responds to browser events, and you can use it to overcome many inconsistencies between browser versions. JavaScript is also able to send requests (XMLHttpRequest, a.k.a. AJAX) to the server and retrieve data without performing a full page refresh. It then uses this data to modify the web page (represented in the browser as a tree according to the Document Object Model spec), through a set of functions provided by the DOM API.
ASP.NET is a framework for server-side processing. It's mainly used for the "model" (database interface) and "controller" (business logic). I am not particularly fluent with ASP.NET, but suffice to say it provides a very rich set of libraries for working with data and data stores, dynamically building up the web page representation by stitching together data with pre-written page templates. ASP.NET isn't tied to a particular programming language; rather, you can use any language that is available for the .NET Framework.
As for MVC, I am a bit confused on that point as it relates to the web. From what I understand, the Model, View, and Controller are a way to segment the server-side application, but there is also some mixing of concerns in the browser. For example, you can use JavaScript to validate user input, but this validation must be repeated on the server because the user can circumvent the JavaScript. Similarly, the server generates a view and sends it to the browser, but this view can be heavily modified by scripting in the browser.