您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > JavaScript高级编程
第1章JavaScript语言概述JavaScript是目前Web应用程序开发者使用最为广泛的客户端脚本编程语言,它不仅可用来开发交互式的Web页面,更重要的是它将HTML、XML和Javaapplet、flash等功能强大的Web对象有机结合起来,使开发人员能快捷生成Internet或Intranet上使用的分布式应用程序。另外由于Windows对其最为完善的支持并提供二次开发的接口来访问操作系统各组件并实施相应的管理功能,JavaScript成为继.bat(批处理文件)以来Windows系统里使用最为广泛的脚本语言。1.1JavaScript是什么应用程序开发者在学习一门新语言之前,兴趣肯定聚焦在诸如“它是什么”、“它能做什么”等问题而不是“如何开发”等问题上面。同样,学习JavaScript脚本,首先来揭开JavaScript脚本的面纱:“JavaScript是什么?”1.1.1JavaScript简史二十世纪90年代中期,大部分因特网用户使用28.8kbit/s的Modem连接到网络进行网上冲浪,为解决网页功能简单的问题,HTML文档已经变得越来越复杂和庞大,更让用户痛苦的是,为验证一个表单的有效性,客户端必须与服务器端进行多次的数据交互。难以想象这样的情景:当用户填完表单单击鼠标提交后,经过漫长的几十秒等待,服务器端返回的不是“提交成功”的喜悦却是“某某字段必须为阿拉伯数字,请单击按钮返回上一页面重新填写表单!”的错误提示!当时业界已经开始考虑开发一种客户端脚本语言来处理诸如验证表单合法性等简单而实用的问题。1995年Netscape公司和Sun公司联合开发出JavaScript脚本语言,并在其NetscapeNavigator2中实现了JavaScript脚本规范的第一个版本即JavaScript1.0版,不久就显示了其强大的生机和发展潜力。由于当时NetscapeNavigator主宰着Web浏览器市场,而Microsoft的IE则扮演追赶者的角色,为了跟上Netscape步伐,Microsoft在其InternetExplorer3中以JScript为名发布了一个JavaScript的克隆版本JScript1.0。1997年,为了避免无序竞争,同时解决JavaScript几个版本语法、特性等方面的混乱,JavaScript1.1作为草案提交给ECMA(欧洲计算机厂商协会),并由Netscape、Sun、Microsoft、Borland及其它一些对脚本语言比较感兴趣的公司组成的TC39(第39技术委员会:以下简称TC39)协商并推出了ECMA-262规范版本,其定义了以JavaScript为蓝本、全新的ECMAScript脚本语言。ECMA-262标准Edition1删除了JavaScript1.1中与浏览器相关的部分,同时要求对象是平台无关的并且支持Unicode标准。在接下来的几年,ISO/IEC(估计标准化组织/国际电工委员会)采纳ECMAScript作为Web脚本语言标准(ISO/IEC-16262)。从此,ECMAScript作为JavaScript脚本的基础开始得到越来越多的浏览器厂商在不同程度上支持。为了与ISO/IEC-16262标准严格一致,ECMA-262标准发布Edition2,此版本并没有添加、更改和删除内容。ECMA-262标准Edition3提供了对字符串处理、错误定义和数值输出等方面的更新,同时增加了对try…catch异常处理、正则表达式、新的控制语句等方面的完美支持,它标志着ECMAScript成为一门真正的编程语言,以ECMAScript为核心的JavaScript脚本语言得到了迅猛的发展。ECMA-262标准Edition4正在制定过程中,可能明确的类的定义方法和命名空间等概念。表1.1是ECMA-262标准四个版本之间的异同及浏览器支持情况。表1.1ECMA-262标准各版本间异同及浏览器支持情况ECMA版本特性浏览器支持Edition1删除了JavaScript1.1中与浏览器相关的部分,同时要求对象是平台无关的并且支持Unicode标准NetscapeNavigators4(.06版)、InternetExplorer5Edition2提供与ISO/IEC-16262标准的严格一致Opera6.0-7.1Edition3提供了对字符串处理、错误定义和数值输出等方面的更新,同时增加了对try…catch异常处理、正则表达式、新的控制语句等方面的完美支持InternetExplorer5.5+、NetscapeNavigators6.0+、Opera7.2+、Safari1.0+Edition4*可能明确的类的定义方法和命名空间等概念未知(此版本正在制订过程中)1999年6月ECMA发布ECMA-290标准,其主要添加用ECMAScript来开发可复用组件的内容。2005年12月ECMA发布ECMA-357标准(ISO/IEC22537)出台,主要增加对扩展标记语言XML的有效支持。注意:JavaScript脚本也能进行服务器端应用程序的开发,但相对于客户端的功能和应用范围而言,一般仍将其作为一门客户端脚本语言对待,后面有专门章节讲述服务器端JavaScript脚本。对JavaScript历史的了解有助于开发者迅速掌握这门语言,同时也能加深对JavaScript语言潜力的理解。下面介绍其语言特点。1.1.2JavaScript有何特点JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,主要用于创建具有交互性较强的动态页面。主要具有如下特点:z基于对象:JavaScript是基于对象的脚本编程语言,能通过DOM(文档结构模型)及自身提供的对象及操作方法来实现所需的功能。z事件驱动:JavaScript采用事件驱动方式,能响应键盘事件、鼠标事件及浏览器窗口事件等,并执行指定的操作。z解释性语言:JavaScript是一种解释性脚本语言,无需专门编译器编译,而是在嵌入JavaScript脚本的HTML文档载入时被浏览器逐行地解释,大量节省客户端与服务器端进行数据交互的时间。z实时性:JavaScript事件处理是实时的,无须经服务器就可以直接对客户端的事件做出响应,并用处理结果实时更新目标页面。z动态性:JavaScript提供简单高效的语言流程,灵活处理对象的各种方法和属性,同时及时响应文档页面事件,实现页面的交互性和动态性。z跨平台:JavaScript脚本的正确运行依赖于浏览器,而与具体的操作系统无关。只要客户端装有支持JavaScript脚本的浏览器,JavaScript脚本运行结果就能正确反映在客户端浏览器平台上。z开发使用简单:JavaScript基本结构类似C语言,采用小程序段的方式编程,并提供了简易的开发平台和便捷的开发流程,就可以嵌入到HTML文档中供浏览器解释执行。同时JavaScript的变量类型是弱类型,使用不严格。z相对安全性:JavaScript是客户端脚本,通过浏览器解释执行。它不允许访问本地的硬盘,并且不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失。综上所述,JavaScript是一种有较强生命力和发展潜力的脚本描述语言,它可以被直接嵌入到HTML文档中,供浏览器解释执行,直接响应客户端事件如验证数据表单合法性,并调用相应的处理方法,迅速返回处理结果并更新页面,实现Web交互性和动态的要求,同时将大部分的工作交给客户端处理,将Web服务器的资源消耗降到最低。注意:之所以说相对安全性,是因为JavaScript代码嵌入到HTML页面中,在客户端浏览该页面过程中,浏览器自动解释执行该代码,且不需要用户的任何操作,给用户带来额外的执行恶意代码的风险。1.1.3JavaScript能做什么JavaScript脚本语言由于其效率高、功能强大等特点,在表单数据合法性验证、网页特效、交互式菜单、动态页面、数值计算等方面获得广泛的应用,甚至出现了完全使用JavaScript编写的基于Web浏览器的类Unix操作系统JS/UIX和无需安装即可使用的中文输入法程序JustInput,可见JavaScript脚本编程能力不容小觑!下面仅介绍JavaScript常用功能。注意:JS/UIX(系统测试:,命令手册:,说明文档:);JustInput(官方网站)1.表单数据合法性验证使用JavaScript脚本语言能有效验证客户端提交的表单上数据的合法性,如数据合法则执行下一步操作,否则返回错误提示信息,如图1.1所示。图1.1应用之一:表单数据合法性验证2.网页特效使用JavaScript脚本语言,结合DOM和CSS能创建绚丽多彩的网页特效,如火焰状闪烁文字、文字环绕光标旋转等。火焰状闪烁文字效果如图1.2所示。图1.2应用之二:火焰状闪烁文字特效3.交互式菜单使用JavaScript脚本可以创建具有动态效果的交互式菜单,完全可以与falsh制作的页面导航菜单相媲美。如图1.3所示,鼠标在文档内任何位置单击,在其周围出现如下图所示的导航菜单。图1.3应用之三:动态的交互式菜单4.动态页面使用JavaScript脚本可以对Web页面的所有元素对象进行访问并使用对象的方法访问并修改其属性实现动态页面效果,其典型应用如网页版俄罗斯方块、扑克牌游戏等。如图1.4所示为网页版俄罗斯方块游戏。图1.4应用之四:使用JavaScript脚本的网页版俄罗斯方块游戏5.数值计算JavaScript脚本将数据类型作为对象,并提供丰富的操作方法使得JavaScript用于数值计算。如图1.5所示为用JavaScript脚本编写的计算器。图1.5应用之五:使用JavaScript脚本编写的网页版计算器JavaScript脚本的应用远非如此,Web应用程序开发者能将其与XML有机结合,并嵌入Javaapplet和flash等小插件,就能实现功能强大并集可视性、动态性和交互性于一体的HTML网页,吸引更多的客户来浏览该网站。使用DOM所定义的文档结构,JavaScript可用于多框架的HTML页面中框架之间的数据交互。同时Windows提供给JavaScript特有的二次编程接口,客户端可以通过编写非常短小的JavaScript脚本文件(.js格式),通过内嵌的解释执行平台WSH(WindowsScriptHost:Windows脚本宿主,以下简称WSH)解释来实现高效的文件系统管理。注意:1、任何一种语言都是伟大的,都可以做很多事情,包括很不可思议的事情,但有一些是有意义的,另一些是没有意义的,只是语言的侧重点不同而已。1.1.4JavaScript的未来如何自ECMA-262标准以来,JavaScript及其派生语言如FlashMX中的ActionScript、微软的JScript等在很多不同的编程环境中得到了大量的应用,同时TC39一直积极促进JavaScript新标准的出台。2005年12月ECMAScriptforXML(E4X)Specification作为ECMA-357标准(ISO/IEC22537)出台,主要增加对扩展标记语言XML的有效支持:z在ECMAScript中定义了XML的语法和语义,同时将XML的数据类型添加进ECMAScript类型库中;z专门为XML扩展、修订和增加了少数操作符(operators),如搜索(searching)、过滤(filtering)等,同时增加对XML名字空间(namespaces)等的支持。ECMA-357标准是JavaScript发展史上的变革点,显示
本文标题:JavaScript高级编程
链接地址:https://www.777doc.com/doc-4810125 .html