JavaScript可以说是目前浏览器中作为网页编程中最为流行的脚本语言,,HTML页面的动作行为(点击某一个按钮,触发什么事件 )就需要它的支持。
JavaScript来历,最早是网暴公司开发设计出来的,当时最早的名字叫LiveScript。JavaScript从最初的版本到现在来说,已经20多年的历史。它开发出来的目的就是给网页提供一种可支持交互性的脚本语言。
它是一种动态、弱类型、基于原型的语言,内置支持类。可以这样说,它经过长达20多年的发展,现在已经成为了一个非常健壮的基于对象和事件驱动架构并且安全性非常高的一种脚本语言。
语法简单,易学易使用
它的语法,跟Java的很多语法惊人的相似,所以学习起来非常轻松。另外,它跟CSS一样也是属于一种文本信息,所以任何一种文本编辑器都可以编写代码,而且它不需要像我们Java那样,还存在一系列的编译的过程,它不需要编译的过程,它是一种解释性语言(解释一行,运行一行)。
解释性语言
非脚本语言(Java 、 C、 C+ ...)它们编写的程序,执行之前一般都需要执行 "编写-编译-解释-运行" ,而脚本性语言它们只需要2步"编写-运行"
跨平台
它的运行依赖浏览器,它不依赖OS ,需要OS支持可以运行JavaScript的浏览器就可了。
基于对象和事件驱动
JavaScript把HTML页面中所有的元素都当做一个对象来处理,并且这些对象还都具有层次关系,非常像一颗倒立的树,我们把这颗倒立树的关系,我们把它叫做“文档对象模型(DOM )”,那么我们在编写JavaScript代码的时候,更多需要操作的是DOM。
当然,JavaScript操作的对象,也并非只有HTML标记对象,还要很多其他的,例如:浏览器的默认对象、JSON数据对象,定义的函数对象 ...
事件驱动,JavaScript所定义的绝大多数行为,都需要通过用户来使用浏览器触发。
(一个事件的开始,是由另外一个事件的结束来触发)
用于客户端
JavaScriat可分为服务端和客户端两种,但我们使用的客户端的部分。(也就是说,我们现在所写的代码,不是在后台服务器运行,而是客户端的浏览器运行)
动态改变网页内容
HTML语言是静态的,一旦编写成功,内容是无法修改的(也就是你在运行期间无法动态的修改,只能把源代码修改后重新上传)。JavaScript则可以弥补这不足。
动态改变网页外观
JavaScript通过修改网页元素的CSS样式,通过修改CSS的代码从而动态的改变网页的外观,例如:修改图片大小、修改文字的颜色、改变图片的位置......
验证表单数据
为了提高网页表单数据的有效性,一般我们在客户端,直接针对客户输入的内容进行合法性的验证,只有验证成功了,我们才将数据通过表单发送到后台服务器,从而减少后台服务器的压力,以及网络带宽的压力。
响应事件
JavaScript通过上述的特点,我们知道它是一种事件驱动模式的脚本语言,因此我们可通过它影响,或者说去改变由用户通过浏览器发起的事件。而且可以做到只有事件产生,,JavaScript所定义的代码才执行。
注:目前几乎所有的浏览器都支持JavaScripte。
很多程序员在初次学习Java和JavasScript的时候,对这种两种编程语言,有时会产生一定的困惑,分不清它们两者之间的关系。
Java是由Sun公司开发出来的高级编程语言, JavaScript是由网景公司开发出来页面脚本语言,最初取名叫LiveScript,后由于对抗微软的战略需求,Sun公司和网景公司建立了战略合作关系,所以后更名JavaScript,并成为SUN公司的注册商标。
从编程语言这个角度上来说, JavaScript除了和Java在基本语法方面非常类似之外,其他几乎都不相同。
主要区别具体体现在:
1、java是传统的后台编程语言, JavaScript是脚本语言
2、Java语言一般用于服务器,,JavaScript主要用于客户端
3、Java不能内嵌到网页中去运行,但是JavaScript主要在网页中运行
4、Java和JavaScript在语法结构,也同样存在一些差异
95年网景公司,开发出LiveScript语言,在96年和SUN公司取得战略合作关系之后更名为JavaScript
96年3月,JavaScript1.0版本由SUN公司发布,目前没有人使用
96年8月,1.1版本,加入了数组的支持
97年6月,1.2版本,加入了switch条件选择语句和其他一些规则表达式的支持
98年10月,1.3版本,修正了JavaScript中不符合ECMA标准的内容
99年,1.4版本,加入了服务器端的功能
2000年11月,1.5版本,在1.3的基础上,添加了异常处理机制
2005年11月, 1.6版本,加入对字符串泛型,以及数组,数据操作的一些新的方法与特性
......
2009年6月,1.8.1版本,主要添了实时编译跟踪的内容
2010月7月,1.8.5版本
JavaScript根HTML、 CSS一样,都受限于浏览器,不是所有的浏览器都支持 JavaScript的每一个版本。