初识JavaScript
2014-04-12 22:29 自主阅读教程 阅读(310) 评论(0) 收藏 举报JavaScript的定义
JavaScript是一种基于对象和事件驱动并具有安全性能的解释型脚本语言,用于开发交互式的Web页面。它不仅可以直接应用在HTML页面中以实现动态效果,也可以用在服务器端完成访问数据库、读取文件系统等操作。
脚本语言是一种通过浏览器的解释程序解释执行的程序设计语言。每次运行的时候,解释程序都会把程序代码翻译成可执行的格式。常见的脚本语言有:VBScript、PHP(据了解使用非常广泛)、Perl、Python和Ruby。
JavaScript历史
Microsoft公司在Internet Explorer 3.0中加入了自己的脚本语言功能,其功能与Navigator 2.0中类似。Netscape在Navigator 3.0中引入了JavaScript 1.1,在Navigator 4.0中引入了JavaScript 1.2。JavaScript 1.1增加的新特性有支持更多的浏览器对象和用户自定义函数。JavaScript 1.2中增加了新对象、方法和属性,并且支持样式表、层、正则表达式和签名脚本。Microsoft公司在Internet Explorer 4.0中发行了自己的JavaScript版本,叫做JScript。Microsoft还在IIS中提供了对服务器端JavaScript的支持。
为了实现网页的动态交互功能,NetScape公司为Navigator浏览器开发了一种脚本语言,叫做LiveScript。在随后的Navigator2.0版本中,NetScape在其中加入了对Java小应用程序的支持。也许是为了向Java看齐,他们把LiveScript改名叫做JavaScript,这时的版本为1.0。从我的理解来看,这更像是一种营销策略。
对于同一种技术而言,每个厂商使用自己的技术标准是不利于其发展的。例如,NetScape的JavaScript和Microsoft的JScript在语言本身方面有很大差异,、使得开发人员需要为Navigator和Internet Explorer编写几乎完全不同的程序,这在一定程度上阻碍了JavaScript的发展。为了调和这个分歧,诞生了一种国际标准化的JavaScript版本,叫做ECMAScript。在随后发布的JavaScript和JScript版本都采用了符合ECMAScript规范的方式进行了设计。虽然如此,两者仍然有许多不同的特性。
JavaScript的特性
作为一种脚本语言,JavaScript具有以下特性:
1.简单性
采用小程序段的方式编程。同其他脚本语言一样,JavaScript也是一种解释性语言,它提供了一种简单的开发过程。JavaScript不需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。另外,它的变量类型采用的是弱类型,并未使用严格的数据类型,这样开发人员在使用的时候可以更加灵活。
2.动态性
可以直接对用户输入作出响应,无须经过Web服务器程序进行处理。它对于用户的响应,是采用事件驱动的方式进行的。
3.安全性
是一种安全性语言,它不能访问本地磁盘系统,并且不能将数据存入服务器,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览和动态交互,从而有效地防止数据的丢失。当然,这在一定程度上也限制了Javascirpt的作用范围,使得不能进行复杂业务范围。
4.跨平台性
依赖于浏览器本身运行,与操作环境无关,即只要有能运行浏览器程序的计算机,并有支持JavaScript的浏览器就可以正确执行。这和Java语言倡导的“一次编写,到处运行”有异曲同工之效。
JavaScript的应用
作为一种脚本语言,JavaScript在Web应用程序中的应用非常广泛。它不仅可以用于编写在浏览器中执行的脚本语言,而且还可以编写在服务器端执行的脚本程序。
在服务器端程序开发方面,最近几年比较流行的技术是JSP和ASP,它们都可以接受客户端的请求并且把响应结果传送回客户端中去。JavaScript可以作为ASP的实现脚本来开发服务器端应用程序。服务器端的JavaScript有较强的数据库处理能力,例如JavaScript服务器端的SendEmail对象可以用来创建电子邮件系统。
当然,JavaScript最常用的领域还是在客户端。开发人员需要将JavaScript脚本程序嵌入到或者链接到HTML文件中。当用户使用浏览器读取含有JavaScript代码的HTML页面时,JavaScript脚本程序就会和HTML代码一起被下载到客户端,这样浏览器自带的脚本解释程序就可以解释并且执行JavaScript代码,而后在页面中显示执行的结果。在客户端应用方面,JavaScript主要用于实现以下一些功能:
- JavaScript一个非常重要的功能是与HTML表单交互。他可以通过控制Form对象及Form元素对象实现对页面中某个表单的输入元素的值进行读写操作。在这个方面,开发人员经常使用JavaScript进行提交表单前的合法性验证,例如,金额项是否使用了数字和某些字符串的格式是否正确输入等内容。这种功能使得不必把表单内容发送到客户端验证,简化了服务器端程序的编写,并且大大节省了网络开销。
- JavaScript另外一个重要的应用就是事件处理,即在用户触发某些特定的事件的时候执行预先写好的程序来处理。例如,用户单击表单中的Submit按钮,就会触发该按钮的click事件,用于进行数据合法性验证。
- JavaScript还具有对浏览器的控制能力。如它可以弹出对话框向用户显示简单的消息,也可以通过对话框从用户那里获得简单的输入信息。此外,它还可以打开或者关闭浏览器窗口,这些窗口可以被指定为任意大小和任意的显示方式。
- JavaScript还可以通过自带的document对象操作HTML文档的外观和内容。例如,开发人员可以操作document对象指定文档的颜色和字体的样式,并且可以再HTML文档中任意添加内容,甚至可以从无到有生成一个完整的文档。
- 另外,作为Web应用中常用到的功能,JavaScript还可以读写Cookie。Cookie是一种将用户登录信息等内容存储在用户本机上的技术。在用户访问相应的网站的时候,Cookie将被发送到服务器端,服务器端程序通过处理Cookie中含有的用户信息,可以为用户提供一些个性化的记忆功能。Cookie虽然存储在用户的客户机上,但是只有服务器端程序才能对它进行操作,这样会产生很大的网络开销。JavaScript诞生以后,由于其本身具有操作Cookie的能力,使得开发人员可以直接通过JavaScript在客户端处理Cookie,在简化开发的同时也节省了网络开销。
当然,JavaScript的功能远不止这些。
JavaScript的局限
- 出于安全性的考虑,JavaScript不能对服务器和客户机上的文件进行读写操作(Cookie文件除外)。
- JavaScript不能用于制作多用户程序。
- JavaScript不能用于对安全性认证的处理。
编写第一个JavaScript程序
1.HTML的基本结构
在学习JavaScript编程之前,读者应该首先了解HTML代码的基本结构。HTML是一种超文本标记语言,正是由于它可以在普通文本中嵌入多种不同的标记,使它具有了不同于普通文本的超文本能力。HTML代码必须通过浏览器解释执行才能正确显示。
一个HTML文件由一对<HTML>标记构成。一对<HTML>标记内可以嵌套其他标记,例如,<HTML>标记从总体上看就是由<HEAD>和<BODY>两个标记组成的,其中<HEAD>里面包含需要浏览器使用的信息,<BODY>表示的是网页要显示的内容。HTML是一种不区分大小写的标记语言。
2.使用<script>标记
HTML是基于标记的文本,同样,在其中嵌入JavaScript代码也需要使用标记,这个标记就是<SCRIPT>,开发人员需要把JavaScript脚本写到<SCRIPT>和</SCRIPT>中间,这样当浏览器读取<SCRIPT>标记的时候,就会自动解释执行其中的脚本代码。使用<SCRIPT>标记的时候需要为它定义language属性,用来指定这个<SCRIPT>采用的是什么类型的脚本语言。如:language="javascript"、language="vbscript"。<SCRIPT>标记放在<BODY>标记中,也可以放在<HEAD>标记中。在实际应用中,读者可以根据需要,灵活调整JavaScript代码的位置。
1 <html> 2 <head> 3 <title>Hello World!</title> 4 </head> 5 <body> 6 <script language="javascript"> 7 alert("Hello World!"); 8 </script> 9 </body> 10 </html>
3.使用JavaScript文件
扩展名必须是.js,JavaScript文件就是普通的文本文件。JavaScript文件不需要使用<SCRIPT>标记,直接写JavaScript代码就可以。
1 <html> 2 <head> 3 <title>Hello World!</title> 4 </head> 5 <body> 6 <script language="javascript" src="FirstJavaScript.js"> 7 </script> 8 </body> 9 </html>
FIrstJavaScript.js文件的内容:
alert("Hello World!");
4.添加注释
单行注释://
多行注释:/**/
注意:因为是为JavaScript脚本添加注释,所以注释的内容应该写到<SCRIPT>标记中。
5.从不兼容的浏览器中隐藏JavaScript
并不是所有的浏览器都支持JavaScript,并且,由于浏览器版本和JavaScript版本之间存在一个兼容性问题,所以可能导致某些JavaScript代码在一些浏览器版本中不能正确执行。如果浏览器不能识别<SCRIPT>标记,就会将<SCRIPT>和</SCRIPT>之间的JavaScript脚本代码当做普通的HTML字符显示在浏览器中。
针对这类问题,开发人员可以使用HTML注释来注释JavaScript代码,这样不支持JavaScript的浏览器就不会把代码内容当作文本显示到页面上,而是把它们当作注释,不会做任何操作。这种做法的编写方式如下:
<!--html comment begin alert("Hello World!"); //html comment end-->
“<--”是HTML中注释的开头标志,“-->”是注释的结束标志。另外,需要注意的是,最后一行是以JavaScript单行注释“//”开始的,他告诉JavaScript编译器忽略HTML注释的内容。
除了上面介绍的方法,Internet Explorer和Navigator也提供了一种关闭JavaScript程序的标记,这就是<NOSCRIPT>标记,在标记中间可以写入一些文本。这样,当遇到不支持JavaScript或者不希望执行JavaScript的浏览器时,就会直接显示标记中的文本内容。这样做的编写方式如下:
<NOSCRIPT> The javascript code can not be execute. </NOSCRIPT>
<html> <head> <title>Hello World!</title> </head> <body> <script language="javascript"> <!--html comment begin alert("Hello Worlc!"); //html comment end--> </script> <NOSCRIPT> The javascript code can not be execute. </NOSCRIPT> </body> </html>
6.在HEAD段或者BODY中放置JavaScript
浏览器根据标记出现的先后顺序决定翻译的先后顺序,所以当一个HTML中含有多个<SCRIPT>标记时,总是先执行在前面的JavaScript代码。JavaScript代码也可以放在<HEAD>段和<BODY>段之间,当然,放在<HEAD>段中会比放在<BODY>段中先翻译,因此如果是公用的方法,需要被页面其他地方的代码调用,则最好放在<HEAD>段中。
浙公网安备 33010602011771号