1JavaScript概述基本数据结构程序构成基于对象的JavaScript浏览器对象系统基础篇23.1JavaScript概述JavaScript的特点JavaScript的运行环境JavaScript的引入JavaScript注释3由Netscape公司开发并推出一种基于客户端浏览器的语言脚本编写语言基于对象的语言简单性安全性动态性跨平台性节省交互时间①JavaScipt的特点主要特点有:概述4Navigator2.0以上版本的浏览器InternetExplorer3.0以上版本的浏览器②JavaScript的运行环境概述5分布于head标记和body标记之中用scriptlanguage=”JavaScript”和/script标识括起来③JavaScript的引入把JavaScript程序保存在一个以.js为扩展名的文件中,如function.js用SCRIPT标记进行说明SCRIPTSRC=”function.js”SRC属性值可以是被嵌入文件的绝对路径,也可是相对路径。实现功能的函数保存到一个单独的文件中然后使用SCRIPT标记的SRC属性,将该文件嵌入到页面中概述6插入注释语句以增加程序的可读性概述单行注释//单行注释多行注释/*多行注释…多行注释*/④JavaScript注释73.2基本数据结构基本数据类型常量变量表达式和运算符8①基本数据类型string类型:用单引号“’”或双引号“””来说明的。number类型:支持整数和浮点数整数可以为正整数、0或负整数;浮点数可以包含小数点或一个“e”或二者都包括。Boolean类型:true或falseObject对象类型null值:没有任何值,什么都不表示。undefined值:变量被创建后,但未给变量赋值以前的值。数据类型9②常量整型常量:可以使用十六进制、八进制和十进制表示。如可以用42,052(八进制)和0x2A(十六进制)表示42。实型常量:由整数部分和小数部分,或使用科学或标准方法表示。布尔型常量:只有两种状态true或false,用来说明或代表一种状态或标志。字符型常量:使用单引号或双引号括起来的一个或几个字符。空值:表示什么也没有。特殊字符:以反斜杠(/)开头的不可显示的特殊字符,通常称为控制字符。数据类型10\a:警报符,发出一声蜂鸣声;\b:退格符,光标回移一个字符;\f:进纸符,在打印机上指明新的一页;\n:换行符,在文本中指明新的一行;\r:回车符,把光标移至新的段落;\t:水平制表符,把光标移至下一个制表符的位置;转义字符:实现在字符串中使用引号和反斜杠。例如:document.write(“Janesaid:\“Howareyou!\””);document.write(“thedirectoryisc:\\temp\\aaa”);常见的特殊字符如下:11③变量变量名称的长度是任意的,但要区分大、小写;第一个字符必须是字母、下划线“_”或“$”符号;后续字符可以是字母、数字、下划线和“$”符号;不能使用JavaScript关键字做变量名;在对变量命名时,最好把名称与变量的意义对应起来。变量的命名变量的声明var变量名称[=初始值]数据类型12JavaScript是宽松型类型检查语言,不必声明每一个变量的类型;使用时根据变量中保存的数据类型来确定变量的类型。变量的类型变量的作用域按作用范围不同,变量可分为:全局变量:定义在所有函数体之外,作用范围是整个函数。局部变量:定义在函数体中,只对该函数可见,对其他函数是不可见的。一个函数中用关键字var声明的变量是函数的局部变量。函数外声明的变量,或在函数内部不用关键字var声明的变量是全局变量。13④表达式和运算符单目运算符:只需一个操作数,运算符可前可后。例如:i++、--i双目运算符:由两个操作数和一个运算符组成。格式为:操作数1运算符操作数2。例如:2+1,This+is三目运算符:操作数?结果1:结果2。例如:status=(temp)?'confirm:true':'confirm:false';运算符格式数据类型14算术运算符:+、-、*、/、%(取模)、|(按位或)、&(按位与)、(左移)、(右移)、(右移,零填充)、-(取反)、~(取补)、++(递加1)和--(递减1)。字符串运算符:+(合并运算符)比较运算符:、、=、=、==(等于)、!=(不等于)。布尔运算符:!(取反)、&=(与之后赋值)、&(逻辑与)、|=(或之后赋值)、|(逻辑或)、^=(异或之后赋值)、^(逻辑异或)、&&(与)、||(或)、==(等于)、|=(不等于)。位逻辑运算符:&(位与)、|(位或)、^(位异或)、-(位取反)和~(位取补)。位移动运算符:(左移)、(右移)和(右移,左边补零)运算符类型15优先级由高到低排列为:算术运算符:++、--、*、/、%、+、-字符串运算符:+位移动运算符:、、位逻辑运算符:&、|、^、-、~比较运算符:、=、、=、==、!=布尔运算符:!、&&、||运算符的优先级163.3程序结构程序控制流程函数事件驱动及事件处理17程序结构①程序流程控制条件为true,则执行语句段1,否则执行语句段2。如果语句段有多行,则必须使用“{”和“}”将其括起来。if(条件)语句段1;else语句段2if…else语句18条件语句比较复杂,而且条件有互相嵌套的关系。每一级的布尔表述式都会被计算,若为真,则执行相应的语句,否则执行else后的语句。if(布尔值)语句1;elseif(布尔值)语句2;elseif(布尔值)语句3;……else语句4;嵌套的if…else语句19根据变量的不同取值,采取不同的处理方法。条件的取值与程序中提供的任何一条语句都不匹配,将执行default中的语句。在每个语句段后应加一个break语句,保证程序按规定的流程执行。switch(条件){caselabel1:语句段1;caselabel2:语句段2;default:语句段3;}switch语句20初始化参数指定循环的开始位置,即赋予循环控制变量初始值。条件用于判别循环停止的条件,若条件满足,则执行循环体,否则跳出。增量定义了循环控制变量在每次循环时按什么方式变化。三个语句之间必须使用分号分隔。for(初始化;条件;增量){语句集;}For循环语句21当条件为真时,重复循环,否则退出循环。while(条件){语句集;}while语句break语句用于循环中,能实现立即从循环中跳出来,并继续执行循环后的第一条语句。continue语句跳过循环的其余部分,继续执行下一次循环。22函数名是自己定义的名字,对大小写敏感,体现出函数的功能。参数表是传递给函数使用或操作的值,可以是常量、变量或其它表达式。注意:空的参数列表()定义一个不需要任何参数的函数function函数名(参数1,参数2,…){语句段;…return表达式;}函数的声明②函数程序结构23函数可以有返回值,return语句将函数值返回给调用该函数的语句。但不是所有函数都有返回值。函数可以放在HTML文档的任意位置,但最合适的地方是head标记中。函数的调用函数调用:引用函数名并将参数传递给它值函数调用必须放在文档的正文部分,以显示执行结果。有返回值的函数,调用方法有两种:将返回值存储在一个变量中直接使用返回值24事件:鼠标或热键的动作事件驱动:由鼠标或热键引发的一连串程序的动作事件处理程序:对事件进行处理的程序或函数事件驱动③事件驱动及事件处理单击事件onClick改变事件onChange选中事件onSelect获得焦点事件onFocus失去焦点onBlur载入文件onLoad卸载文件onUnload鼠标悬停事件onMouseover程序结构25自己编写的函数JavaScript内部的函数直接使用JavaScript的代码事件处理程序ahref==window.status='欢迎访问本站';returntrue新闻动态/ascriptlanguage=javascriptfunctiondoit(){window.status=欢迎访问本站;returntrue;}/scriptahref==doit();新闻动态/a263.4基于对象的JavaScript对象的基础知识常用内部对象定义对象和方法27对象①对象的基础知识对象:变量的集合体,提供了对数据的一致的组织手段,描述了一类事务的共同属性。JavaScript中对象的构成:属性:与变量相关联,指对象的背景色、长度、名称等特征。方法:与特定的函数相关联,对属性进行的操作。对象在被引用之前必须存在。获取对象的方式为:引用JavaScript内部对象引用浏览器环境提供的对象创建新对象对象的基本结构28属性可以是数字、字符串,甚至是其他对象。每个属性都有一个与之相连的名字。对象属性引用的方式:使用点“.”运算符通过对象的下标实现引用通过字符串的形式实现引用对象属性的引用对象方法的引用ObjectName.methods()方法实质上是对象中的一个函数29操作对象的语句for...in语句for(对象属性名in已知对象名){语句段;}对已知对象的所有属性进行操作的控制循环语将一个已知对象的所有属性反复赋给一个变量无需知道对象中属性的个数即可进行操作with语句with(object){语句段;}在该语句体内,没有指明对象的属性都是with指明的对象的属性。30this关键字避免多层次、多方位对象引用造成的混乱。this将对象指定当前对象。new运算符newobject=newObject(Parameterstable);创建一个对象实例31②常用内部对象Array对象String对象Date对象Math对象静态对象:在引用该对象的属性或方法时不需要创建实例动态对象:在引用属性或方法时必须创建一个实例对象32存储的是编号变量,定义了一个数组。动态对象,使用前必须使用new运算符创建一个实例。例如:student=newArray(30);通过数组下标来使用数组元素,数组下标从0开始。Array对象属性:length:表示数组元素的个数方法:join():连接数组所有元素,返回一个字符串。元素之间用“,”或其他指定的分隔符隔开。reverse():返回一个翻转的数组,原来的最后一个元素变成第一个,而第一个则变成了最后一个。sort():返回一个排序数组,缺省按字母表顺序排序。33静态对象String对象属性:length:表示字符串中的字符个数字符串转换方法:toUpperCase():把字符串中所有字符转换为大写toLowerCase():把字符串中所有字符转换为小写处理子串方法:substring():返回夹在原字符串两个下标变量之间的子串。charAt():只需一个下标并返回一个字符。split():根据指定的分隔符把一个字符串划分成一个字符串数组。34搜索字符串的方法:indexOf():在字符串中搜索另一个字符串,返回值为字符串的下标。lastIndexOf():从最后一个字符开始向前搜索,寻找字符串最后一次出现的位置。big()使用BIG标记将文本以大字体显示blink()使用BLINK标记将文本闪烁显示bold()将文本以粗体字显示fixed()将文本以固定高度的字体显示fontcolor()以特定的颜色显示字符串fontsize()设定字体的大小italics()使用T标记以斜体显示字符串small()使用