第一讲:JavaScript概述课程内容安排•JavaScript背景知识•简单的脚本语言•第一个JavaScript程序•注意事项JavaScript背景知识•JavaScript的历史•Netscape•LiveScript•JavaApplet•JavaScript•制定标准•97年发布了ECMA-262语言规范•ECMAScript•JavaScript现况•JavaScript的未来简单的脚本语言•什么是脚本语言•脚本语言是一种应用程序扩展语言,用于系统的扩展,使其按用户的意愿去运行。•所有的基础功能由系统提供,脚本语言在更高一层次描述如何调用系统的接口。•解释执行。•脚本语言的分类•嵌入式•非嵌入式•JavaScript能做什么•JavaScript和其它语言的异同•JavaScript同Java的异同第一个JavaScript程序•预备知识•document对象的write方法将字符串“HelloWorld”输出显示在浏览器客户区里。•使用window对象的alert方法以消息框的形式输出信息。•JavaScript程序嵌入HTML文档的常用方法就是将代码放在“script”标签对中。•JavaScript代码在HTML文档中的形式。–链入–嵌入•参考:第一个JavaScript程序01html!---------HTML文档开始--------------------02head!---------文档头开始--------------------------03title!---------标题开始-----------------------------04/title!---------标题结束-----------------------------05/head!---------文档头结束--------------------------06body!---------文档体开始--------------------------07scriptlanguage=JavaScript!---------脚本程序-----------------------------08//JavaScript程序语句//JavaScript程序语句09//……//更多的JavaScript程序语句10/script!---------脚本结束-----------------------------11/body!---------文档体结束--------------------------12/html!---------HTML文档结束--------------------•嵌入方式–本书使用的方式第一个JavaScript程序•JavaScript编辑器的选择•记事本•VisualStudio•Aptana•DreamWeaver•WebStorm•……•编写“HelloWorld”•打开记事本,输入以下代码:•另存为“helloworld.html”,扩展名为“html”或“htm”.•在IE中打开网页文件,运行程序。01html!---------HTML文档开始--------------------02body!---------文档体开始--------------------------03scriptlanguage=JavaScript!---------脚本程序-----------------------------04document.write(HelloWorld!);//输出经典的Helloworld05/script!---------脚本结束-----------------------------06/body!---------文档体结束--------------------------07/html!---------HTML文档结束--------------------注意事项•浏览器对JavaScript的支持•在互联网发展的过程中,几大浏览器之间也存在激烈的竞争。JavaScript是Netscape公司的技术,其它浏览器并不能和Navigator一样良好的支持JavaScript,因为得不到使用许可。微软公司为能使其IE浏览器能抢占一定市场份额,于是在IE中实现了称为JScript的脚本语言,其兼容JavaScript,但是和JavaScript间仍然存在版本差异。因此,编程人员在编码时仍然考虑不同浏览器间的差别。•检测当前所用的浏览器01scriptlanguage=JavaScript//程序开始02document.write(名称:+navigator.appName+br);//浏览器名称03document.write(版本号:+navigator.appVersion+br);//浏览器版本号04document.write(发行代号:+navigator.appCodeName+br);//浏览器的内部发行代号05/script注意事项•大小写敏感•JavaScript代码是大小写敏感的,Name和name是不同的标识符,编码时应当予以注意。同一个词如果如果各个字母间大小写不同时,系统将当作不同的标识符来处理,相互之间没有任何联系•代码示例01Name=“sunsir”;//大写字母开头02name=“foxsir”;//汪写字母开头注意事项•空格与换行•代码中多余的空格会被忽略,同一个标识符的所有字母必须连续。•一行代码可以分成多行书写。•单行:•代码写于一行中,用分号作为语句结束标志if(1==1&&63){alert(“returntrue”);}else{alert(“returnfalse”);}•分成多行、规范的书写如下:01If(1==1&&63)//如果1等于1,且6大于3,则02{03alert(“returntrue”);//输出“true”04}05else//否则06{07alert(“returnfalse”);//输出“false”08}第二讲:数据类型课程内容安排•基本数据类型•复合数据类型•其他数据类型•数据类型的转换基本数据类型•在JavaScript中,字符串型数据是用引号括起的文本字符串。•在JavaScript中不区分“字符”和“字符串”,字符也被当作字符串处理。字符串中可以包含用于特殊目的字符。01scriptlanguage=javascript//脚本程序开始02!--03varhello=你好啊;//使用双引号定义字符串04varname=‘Peter’;//使用单引号定义字符串05alert(hello+name);//将两个字符串合在一起显示06--07/script!--脚本程序结束--基本数据类型•数值型数据–JavaScript中用于表示数字的类型称为数字型,不像其它编程语言那样区分整型、浮点型。数字型用双精度浮点值来表示数字数据,可以表示(-253,+253)区间中的值。数字的值可以用普通的记法也可以使用科学记数法。表示方法如下所示:10;//数字10.1;//数字0.1;//数字3e7;//科学记数0.3E7;//科学记数复合数据类型•对象的概念。•在面向对象的设计模式中,将数据和处理数据的方法捆绑在一起形成的整体,称为对象。它封装了数据和操作数据的方法,使用时要先创建这个对象,用new运算符来调用对象的构造函数。•日期对象。•JavaScript将与日期相关的所有特性封装进Date对象,主要用来进行一些与时间相关的操作,比如获取当前系统时间,使用前要先创建该对象的一个实例:date=newDate();//直接创建date=newDate(val);//指定日期创建date=newDate(y,m,d[,h[,min[,sec[,ms]]]]);//指定日期创建复合数据类型•全局对象。•全局对象是所有全局方法的拥有者,用来统一管理全局方法,全局方法也就是指全局函数。该对象不能使用new运算符创建对象实例,所有方法直接调用即可。•数学对象•数学对象(Math)封装了与数学相关的特性,包括一些常数和数学函数,主要使用简单一些基本的数学计算。比如求正弦、正切、余弦、取绝对值等。•下面是这个对象的应用实例。复合数据类型01scriptlanguage=javascript//脚本程序开始02!--03varr=2;//定义变量表示半径04varpi=Math.PI;//从Math对象中05vars=pi*r*r;//计算面积06alert(半径为2单位的圆面积为:+s+单位);//显示圆的面积07--08/script!--脚本程序结束--从Math对象中获取圆周率常数,计算一个半径为2单位的圆的面积复合数据类型•字符串对象•String对象封装了与字符串有关的特性,主要用来处理字符串。通过String对象,可以对字符串进行剪切、合并、替换等等。可以调用该对象的构造函数创建一个实例,其实在定义一个字符串类型变量时就也创建了一个String对象实例。•调用String对象的方法或属性形式如“对象名.方法名”或“对象名.属性名”,构造函数如下:String([strVal]);。•看这样的一个实例,文本串中将李白《静夜思》的各个部分分别提取出来,并格式化输出。标题加粗,文本居中对齐,诗歌正文颜色为灰色。示例代码如下所示。复合数据类型01scriptlanguage=javascript02!--03varcomment=静夜思李白床前明月光,疑是地上霜。举头望明月,低头思故乡。;//诗的内容04varpartial=comment.substring(0,3);//取出标题05partial=partial.bold();//标题加粗06document.write(palign=\center\);//输出HTML标签“p”,并设置居中对齐07document.write(partial);//输出标题08partial=comment.slice(3,5);//取出作者09document.write(br);//输出换行标签br10document.write(partial);//输出作者11partial=comment.slice(5,17);//取出第一句诗文12partial=partial.fontcolor(gray);//设置颜色为gray(灰色)13document.write(br);//输出换行标签14document.write(partial);//输出诗句15partial=comment.slice(17,29);//取出第二句诗文16partial=partial.fontcolor(gray);//设置颜色为gray(灰色)17document.write(br);//输出换行标签18document.write(partial);//输出诗句19document.write(/p);//输出HTML标签“p”的结束标签20--21/script!--脚本程序结束--复合数据类型•数组•数组是JavaScript中另一重要的基本数据类型。内部对象Array封装了所有和数组相关的方法和属性,其内存在多个数据段组合存储。可以形象的理解为一种有很多连续房间的楼层,每个房间都可以存放货物,提取货物时只需要给出楼层号和房间编号即可。•下面是一个实例,创建一个数组用于保存古代几个大诗人的名字,通过遍历数组逐一输出每个诗人的名字。01scriptlanguage=javascript//脚本程序开始02!--03varpoets=newArray(王维,杜甫,李白,白居易);//创建数组04documen