JavaScript offers various methods of obtaining user input, depending on the type and source. HTML form elements like <input>, <select>, <textarea>, and <button> allow users to enter text, choose options, submit data, and trigger events. You can access these elements with JavaScript by using document.getElementById(), document.querySelector(), or document.forms methods, or by adding event listeners. Additionally, HTML5 APIs such as Geolocation, Drag and Drop, File, and Media enable users to interact with your web page using their device's features. These APIs can be accessed with JavaScript by using the navigator, window, or document objects, or by adding event listeners. Finally, JavaScript prompts, alerts, and confirmations are simple dialog boxes that can be created with the prompt(), alert(), or confirm() methods to store user input in variables.