内容提要JavaScript概述词法规则基本数据类型运算符和表达式核心语句函数复合数据类型对象模型事件处理脚本服务器端脚本--首先在服务器执行,将得到的结果转换成html流进行输出如asp,php,jsp等客户端脚本由--由服务器下载到客户的ie中,由客户端的浏览器执行动作和事件动作和事件动作是由JavaScript和HTML代码组成的,该代码能执行各种特殊任务,如弹出一个信息框、播放一段音乐等。用户可以使用“行为”面板直接向页面中添加动作。事件是浏览器生成的消息,指示该页的用户执行了某种操作。如果用户预先设置了某个动作,则事件将触发相应的动作发生,如弹出一个信息框等。动作和事件事件动作动作源代码事件触发动作执行源码,产生动态效果概述JavaScript是介于Java与HTML之间,基于对象和事件驱动的编程语言。它提供了一种实时的、动态的、可交互的表达能力,用交互式的Web页面取代了静态的HTML页面,有效实现了网络计算和网络计算机的蓝图。第一个JavaScript程序htmlheadmetahttp-equiv=Content-Typecontent=text/html;charset=utf-8title实时显示时间/titlescripttype=text/javascript!--setInterval(showTime(),1000);functionshowTime(){vard,s;d=newDate();s=d.getHours()+:+d.getMinutes()+:+d.getSeconds();timetxt.innerHTML=h1当前时间:fontcolor=blue+s+/font/h1;}//--/script/headbodydivid=timetxtalign=center/div/body/htmlJavaScriptJavaScript的特点:JavaScript是一种脚本语言,采用小程序段的方式实现编程,可以直接嵌入HTML文档中。JavaScript是一种基于对象的语言,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。基于Java基本语句和控制流;没有严格的数据类型。安全性:只能通过浏览器进行信息浏览或动态交互。跨平台性:依赖于浏览器本身,与操作环境无关。JavaScriptJavaScriptJavaAppletNetscapeSUN基于对象面向对象浏览器解释执行编译弱变量强变量文本字符字节码、独立文档scriptapplet动态联编静态联编JavaScript程序示例htmlheadscriptlanguage=JavaScript!--varname=prompt(请输入您的大名:,);//弹出提示窗口//--/script/headbodyscriptlanguage=JavaScript!--document.write(欢迎,name,光临!);//在页面上输出信息//--/script/body/html演示第一个JavaScript程序使用JavaScript编写程序的特点:JavaScript是一种脚本语言,采用小程序段的方式实现编程,可以直接嵌入HTML文档中。在标识scriptlanguage=JavaScript…/script之间可以加入JavaScript脚本。可将script…/script标识放在head…/head或body…/body之间。将JavaScript脚本置于head…/head之间,可使之在主页和其余部分代码之前装载。JavaScript是一种基于对象的语言,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。第一个JavaScript程序使用JavaScript编写程序的特点:对于不支持JavaScript的浏览器,所有在!--…//--中的代码均被忽略;对于支持JavaScript的浏览器,则执行!--…//--中的代码。//是JavaScript的注释标识,其后的信息不被浏览器解释。将JavaScript脚本置于body…/body之间,可实现动态创建文档。JavaScript脚本的引入方法通过script与/script标签对引入。将JavaScript脚本代码放在script与/script之间,浏览器自动识别该标签对并逐行解释其间的代码。通过script标签的src属性引入。将包含在script与/script标签对之间的代码放入扩展名为.js的脚本文件中,然后在HTML文档中通过script标签的src属性来引用该脚本文件。在网页中嵌入JavaScript脚本JavaScript脚本的引入方法通过JavaScript伪协议引入。伪协议是非标准化通信机制的统称,JavaScript伪协议的一般格式为:javascript:URL。其中“javascript:”是伪协议说明符,URL的主体可以是任意的JavaScript代码,多个语句之间使用分号进行分隔。例如:imgsrc=zzcc.jpgonClick=javascript:vard1=(newDate()).getTime();vard2=(newDate(2008,4,12)).getTime();vardays=Math.floor((d1-d2)/(1000*60*60*24));alert('距离汶川地震已过去'+days+'天!')在网页中嵌入JavaScript脚本JavaScript脚本的引入方法通过HTML的事件属性引入。HTML元素的事件属性用于指示如何处理特定的事件,方法是将脚本指定为事件属性的值,以响应系统或用户的动作。事件属性名称由事件名称加一个“on”前缀构成,如onClick,onMouseOver等。例如:scripttype=text/javascript!--functionshowMsg(){vard1=(newDate()).getTime();vard2=(newDate(2008,4,12)).getTime();vardays=Math.floor((d1-d2)/(1000*60*60*24));alert('距离汶川地震已过去'+days+'天!');}//--/scriptimgsrc=zzcc.jpgonClick=showMsg()在网页中嵌入JavaScript脚本嵌入JavaScript脚本的位置JavaScript脚本可放在HTML文档中任何需要的位置。一般来说,可以在head与/head标签对、body与/body标签对之间放置JavaScript脚本代码。放置在head与/head标签对之间的JavaScript脚本一般用于提前载入,以响应用户的页面动作,且一般不影响HTML文档的浏览器显示格局。如果需要在页面载入时动态生成页面内容,应将JavaScript脚本放置在body与/body标签对之间。在网页中嵌入JavaScript脚本标识符在JavaScript中,标识符用来命名变量和函数。标识符的第一个字符必须是字母、下划线或美元符号,后续字符可以是字母、数字、下划线或美元符号。例如:x、user_name、U571、_pswd、$money都是合法的标识符。不能使用JavaScript中的关键字作为标识符。在JavaScript中定义了20多个关键字,这些关键字是JavaScript内部使用的,如var、for、function、if等,它们都不能作为标识符使用。词法规则词法规则关键字和保留字关键字是JavaScript语法自身的一部分,具有特殊的意义,不能用作标识符。保留字是为将来的关键字而保留的单词,由于未来浏览器可能会实现这些保留字,因此它们最好也不要作为标识符使用。breakcasecatchcontinuedefaultdeletedoelsefinallyforfunctionifininstanceofnewreturnswitchthisthrowtrytypeofvarvoidwhilewithJavaScript的保留字词法规则大小写敏感JavaScript是一种区分大小写的脚本语言。在输入关键字、变量名、函数名以及其它所有标识符时,都必须采取一致的字符大小写形式。例如,“username”、“userName”、“UserName”代表三个不同的变量名。许多JavaScript对象的属性和它们所代表的HTML标签的属性同名,在HTML中这些标签的属性可以以任意大小写的方式输入,但是在JavaScript中它们通常都有固定的大小写格式。例如,body标签的背景颜色属性可以声明为“bgcolor”、“bgColor”或者“BGCOLOR”,但代表body标签的document对象的背景颜色属性只能声明为“bgColor”。词法规则空白字符空白字符包括空格、制表符和换行符等,在编写脚本时占据一定的空间,以增强代码的可读性,方便开发人员查看和维护。空格是使用最为频繁的空白字符,常被用作分隔符。例1:sum=3+10;≡sum=3+10;空格被忽略例2:varx=typeofJavaScript;空格作为分隔符词法规则语句结束符JavaScript使用分号作为语句结束符,多个语句可写在不同行或同一行。例如:varstr=WelcometoJavaScriptWorld!;document.write(str);也可写成:varstr=WelcometoJavaScriptWorld!;document.write(str);语句分行后,作为语句结束符的分号可以省略。例如:varstr=WelcometoJavaScriptWorld!document.write(str)注意:省略分号不是一个好的编程习惯,它可能导致程序产生一种不明确的状态。词法规则注释JavaScript有单行注释和多行注释两种形式。单行注释以“//”开头,处于“//”和一行结尾之间的任何文本都被当作注释而被浏览器忽略掉。多行注释以“/*”开头,以“*/”结尾,处于“/*”和“*/”之间的文本被当作注释,这些文本可以跨越多行,但是其中不能有嵌套的注释。例如://这是单行注释/**这是多行注释*它是多行的*它是多行的*/JavaScript基本数据结构JavaScript脚本语言同其他语言一样,有它自身的基本数据类型、表达式、运算符以及程序的基本框架结构。基本数据类型和常量数值型:最基本的数据类型,包括整型和实型整型常量:可以使用十进制、八进制或十六进制表示,如1234、0745、0x93C等;实型常量:可以使用小数或指数方法表示,如12.34、5e7、4e-5等。字符串型:表示字符序列的数据类型字符串常量:用或''括起来的若干个字符,如JavaScript、'ThisisabookofC++'等;控制字符:以反斜杠\开头的具有特殊功能的字符,如'\n'、'\r'、'\t'等。基本数据类型基本数据类型和常量字符串型:表示文本的数据类型字符串常量:用或''括起来的若干个字符,如JavaScript、'ThisisabookofC++'等。转义字符:以反斜杠\开头的具有特殊功能的字符。转义字符功能说明\b退格\f换页\n换行\r回车\t制表\'单引号\双引号\\反斜线\XXXASCII字符,每一个大X是一个八进制数值,整个八进制数的范围是0~377。例如:\101表示A\xXXASCII字符,每一个大X是一个十六进制数值,整个十六进制数的范围是00~FF。例如:\x65表示e\uXXXXUnicode字符