Back in 1994, some of you might be too young to remember this, in the beginning of the World Wide Web (WWW), there was a Web browser called Netscape Navigator. It quickly became the dominant browser in terms of usage share. Then a year later in 1995, also in Netscape Communications Corporation, Brendan Eich developed JavaScript. It promised to make bring dynamic pages to the Web. At that time though there wasn't very much use for the new language other than to add less than useful effects messages scrolling across the bottom of a Web browser's status bar like a stock-ticker, or animated butterflies following mouse movements around the page. There were also a lot incompatibilities among the browsers of the time, namely Netscape and Microsoft's Internet Explorer who had introduced JScript, their own version of JavaScript included with IE. That began the Browser War Years in which Microsoft's Internet Explorer replace Netscape's Navigator as the dominant browser during the late 1990s and the erosion of Internet Explorer's market share since 2003 by a collection of emerging browsers including Mozilla Firefox, Google Chrome, Safari, and Opera. Netscape Navigator had come to an end but these new browsers on the block had standardized much of the way they handle JavaScript, making it easier to write JavaScript programs that work for most everyone.
Enter 2005, Google starts using AJAX (Asynchronous JavaScript and XML), not a new technology but a technique for creating fast and dynamic web pages using existing technologies, including: HTML or XHTML, CSS, JavaScript, The DOM, XML, XSLT, and most importantly the XMLHttpRequest object. AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. Basically, it is possible to update parts of a web page, without reloading the whole page. Google took applied this to their Google Maps, Gmail, and Youtube.
Following Google, other high-profiled Web sites like Yahoo, Flickrand start using JavaScript extensively to create interactive Web applications.
JavaScript big drawback, if you can call it that, is that it doesn't stand alone. It depends on HTML and CSS. Many programmers speak of the three languages as forming the "layers" of a Web page: HTML provides the structural layer, organizing content like pictures and words in a meaningful way; CSS provides the presentation layer, making the content in the HTML look good; and JavaScript adds a behavioral layers, bringing a Web page to life so it interacts with the user.
In other words, to master JavaScript you need to have a good understanding of both HTML and CSS.