JavaScript 是目前所有主流浏览器上唯一支持的脚本语言,这也是早期JavaScript的唯一用途。其主要作用是在不与服务器交互的情况下修改HTML页面内容,因此其最关键的部分是DOM(文档对象模型),也就是HTML元素的结构。通过Ajax可以使HTML页面通过JavaScript,在不重新加载页面的情况下从服务器上获取数据并显示,大幅提高用户体验。通过JavaScript,使Web页面发展成胖客户端成为可能。
后来出现多种JavaScript的方言,这些方言有着与JavaScript类似的语法,但是用于不同的功能。其中最有名的一种是ActionScript,Adobe公司将这种语言用于Flash页面的开发。JScript 是IE上的JavaScript,此外由于微软的垄断地位,JScript 也用于在桌面脚本和服务器脚本。
JavaScript是一种图灵完备的语言,也就是说是一种理论上可以完成任何工作的语言。但是在浏览器的沙箱环境下,它不能操作文件和任何硬件。在HTML5环境下,这一情况有所改变。 JavaScript的语法类似于C和Java,但是C和Java是典型的过程式语言,JavaScript却有明显的函数式语言特征,类似Lisp。JavaScript的面向对象特征也不是基于类的,而是基于prototype。
作为浏览器唯一支持的语言,JavaScript在入门难度上远低于其它语言,可在任何浏览器上开发及调试,不需要安装额外的软件。也正因为这个原因,JavaScript的用户基本相当广泛,自然而然的,这门语言被逐渐推广到了浏览器以外的其它领域。较为有名的有node,Unity3D,Cocos2dx等。其中node是一个类似于perl,python,ruby等的一个本地运行环境,理论上可以在它的基础上开发任何应用,使用expressjs库,可在node环境下开发高性能web服务器。Unity3D,Cocos2dx都是目前流行的游戏引擎。
JavaScript在最初的时候并不是一个完善的语言,因此也导致JavaScript遗留了很多令人诟病的问题。在开发稍大规模的应用时会显得力不从心,但是由于JavaScript本身是一种非常灵活的语言,因此在它的基础上开发程序库比较容易,因此出现了一大批非常优秀的第三方库,如JQuery,ExtJS,underscorejs,backbone等等,由于这些第三方库,JavaScript变得非常简单。其中JQuery的使用非常广泛,它大幅简化了DOM和Ajax,已经成为了很多网站的标配。JQuery虽然基于JavaScript,但它提供了另外一种编程范式,也就是逻辑式编程,与SQL和正则表达式类似。
在这个问题的答案下是一个JavaScript的入门程序,可立即开始实践:
软件开发如何入门?简单来说JavaScript是这么一个语言:
1、他爹创造它的时候,中意的是函数式,但是公司要他弄的像Java一点。当然,最后这个语言其实更像C,算是C风格的函数式脚本语言,除了名字里面有个Java。
2、他爹只用了十天的时间完成这个语言,然后互联网花了十几年在这个语言羸弱的语法上整出了面向对象,命名空间、AJAX等等Pattern,更有各种书籍规范介绍怎么避开这个语言的坑。
3、在开始的几年里,这个语言一直被当做脚本来使用,随着互联网的发展,人们对动态内容的需求增多,从而发明了AJAX技术。
4、然后有个叫做Google的公司用这个脚本语言做了一个邮件客户端,人们不得不开始重新审视这一“脚本”语言。
5、旋即,Google发现HTML和JavaScript是自己唯一能够掌控的平台,遂在上面加大投入,这一转折让我对Google的不作恶信条产生动摇。
6、Google用尽全力终于把这个脚本语言的性能提升到了极致,也就是V8引擎。用事实告诉我们,语言设计的烂没有关系,主要看干爹有多少钱。
补充回答LZ的问题,JavaScript的兼容语言JScript是WSH(Windows脚本宿主)支持的脚本语言之一,所以可以用于ASP开发,但事实上严格来说用于ASP的是JScript(这个语言语法与JavaScript是兼容的)