14 JavaScript语言基础 JavaScript是一种轻量级、解释型的Web开发语言。所谓轻量级,就是语言的体系结构不是很庞杂,例如,没有C、Java等语言中的类、内存管理、系统管理等高深的知识范畴;所谓解释型,就是语言在浏览器或服务器等环境中直接被解释执行,不需要对源代码进行编译操作。 JavaScript具有面向对象的能力,更确切的讲它是函数式的脚本语言,如果你随意查看JavaScript源代码,就会发现它主要以函数为主体,具有过程化开发的某些特性,不完全是面向对象的开发语言。 JavaScript语言的内核已被嵌入到各种浏览器中,也就是说各种浏览器都支持JavaScript语言。早期的部分浏览器曾经不支持JavaScript,但是那已经成为历史,所以你也不用为此而担心 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.1 网页中的JavaScript 网页中的JavaScript脚本(14-1.html) <head> <script type="text/javascript" language="javascript"> document.write("<h1>Hello,World</h1>"); </script> </head> <body></body> </html> 其中<script>和</script>标签配合使用作为脚本语言的标识符来分隔其他源代码。在解析网页源代码时,浏览器检索到它们时就知道其中包含的字符信息是脚本,而不是HTML源代码或者CSS样式码。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.1 网页中的JavaScript <script>标签包含了两个属性:type属性设置了标签包含脚本属于什么文本类型,text/javascript属性值表示JavaScript代码类型的文本;language属性设置了标签包含脚本属于什么语言类型,javascript属性值表示JavaScript语言类型。在实际开发中,你可以省略这两个属性设置,因为浏览器默认<script>标签包含的字符信息是JavaScript脚本。 请注意,按规范要求是不建议省略<script>标签的属性设置。因为<script type="text/javascript">更符合W3C的标准格式。而<script language="javascript">能够适应早期浏览器解析,因为它们会忽略掉type属性声明。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.1 网页中的JavaScript 一般来说,这些JavaScript代码可以被嵌入到网页中任何位置,如<head>标签的顶部、<head>和</head>标签之间、<body>标签内部,甚至可以被放在<html>或</html>标签的外部。浏览器都会很宽容的解析它们,这种随意性对于用户来说固然很方便,但是纵容也会带来很多问题: 第一,根据W3C标准规则,<script>和<link>(下面将讲解)标签是作为HTML文档树中的一个节点而存在的。因此,它们也应该包含在<html>和</html>根节点的内部,以便构成合理的结构,方便DOM控制。 第二,无处不在的JavaScript脚本犹如躲猫猫似的,给脚本管理带来麻烦,甚至会酿成各种潜在的错误之源。例如,在下面这个简单的示例中,我们希望利用JavaScript脚本来定义页面中显示的字体大小为50像素。 14-2.html(问题)、14-3.html(解决) 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.1 网页中的JavaScript 考虑到HTML文档DOM结构模型的规范性,建议读者把JavaScript脚本写在<head>和</head>标签之间,或者写在<body>和</body>标签之间,这是一个很好的习惯。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.2 Hello,World document对象的write()方法在客户端浏览器窗口中输出信息。 14-4.html 另外: 方法1,利用window对象的alert()方法来显示。 14-5.html 同时,代码中还使用了HTML注释标识符(“<!--”和“-->”)以及<noscript>标签来预防浏览器不支持脚本或者禁止脚本时可能会出现的尴尬情况。如果浏览器不支持脚本或者禁止脚本时,则它会把这些脚本视为注释语句而忽略掉。并解析<noscript>标签中包含的信息,而这些信息对于能够识别脚本的浏览器来说则是无效的。IE浏览器禁止脚本运行时所显示的效果。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.2 Hello,World 方法2,定义脚本函数,然后在body元素的onload事件属性中捆绑函数,实现脚本调用。 14-6.html JavaScript函数是以function语句来定义(在下面章节中将会详细讲解)。在函数体内,利用document.对象的getElementsByTagName()方法获取h1元素的引用指针。由于该方法获取的是一个对象集合(以数组的形式存在),因此再以数组方法读取页面内第1个h1元素包含的HTML源代码信息。最后再把“Hello,World!”字符串信息赋予给该元素,覆盖其包含的HTML源代码信息。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.2 Hello,World (插曲)JavaScript程序的生命周期: 所谓生命周期,就是指程序的有效时间,而作用域指的是程序的作用范围。 JavaScript程序的生命周期可以从浏览器发出请求到再次刷新或跳转页面这个时间段中,生命周期结束之后,JavaScript定义的变量和对象绝大部分都会被注销,资源得到释放。在这个过程中,又可以包含初始化阶段和运行阶段。 初始化阶段:该阶段以用户请求为起点,到所有网页内容被加载,最后以触发body元素的load事件为结束标志。load事件表示所有网页内信息被加载完毕后触发。在初始化阶段,适合装在环境,定义变量和对象,并初始化变量和对象属性。 运行阶段:该阶段以load事件被触发后为起点,以unload事件触发为结束标志。在运行阶段,程序的触发以用户交互为主,程序自动触发事件为辅,适合开发一些交互行为。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.2 Hello,World 方法3,定义脚本函数,然后通过用户交互的途径来调用。 14-7.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.3 JavaScript脚本块在网页中的处理 在网页中可以包含多个JavaScript脚本块(<script>标签),甚至没有数量限制。是不是我们就可以把每个函数都作为一个脚本块或者把所有函数都放置在一个脚本块中进行处理呢?对于这个问题,我个人认为应该以代码的功能关联度进行分块。相同或相近功能的代码适合放在一个脚本块中,而不同的功能代码分别放在不同脚本块中会更适宜管理。你不应该受制于JavaScript代码行的多少来进行平均分配。 当然,在适当时可以把通用脚本模块放在单独的JavaScript文件(下面将详细讲解),或者把它们封装为一个独立的对象以方便进行调用。 14-8.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.4 使用外部JavaScript文件 一般来说,我们习惯于把通用功能模块都写在独立的外部文件中,然后在需要的页面中引入该文件即可。JavaScript文件实际上也是一个文本类型的文件,在任何文本编辑器中都可以被打开和编辑,唯一需要读者注意的是:JavaScript文件的扩展名为js。 引用JavaScript文件时,我们可以使用<script>标签的src属性来实现。为src属性指定JavaScript文件的URL(统一资源定位符)即可。 14-9.html 使用外部JS文件增强了JavaScript模块化开发的程度。在项目开发中,读者应该养成代码重用的良好习惯,在编写某个功能时,不妨先检查先前的代码中是否有相同的功能代码,可否重用,或者有比较成熟的代码可以加以利用,这样能够提高项目开发的速度和效益。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.5 JavaScript文件的关联和冲突处理 例如: 首先,定义两个JavaScript文件:addition.js文件定义一个函数addition(x, y),负责计算两个参数的和,代码如下。 /**************************************** *函数功能:求两个数字的和* *****************************************/ function addition(x, y) { return x + y; } average.js文件定义一个函数average(a,b),负责计算两个参数的平均值,代码如下。但是在该函数中引用了addition.js文件中定义的addition(x, y)函数。 *函数功能:求两个数字的平均值* function average(a,b){ return addition(a,b)/2; 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.5 JavaScript文件的关联和冲突处理 14-10.html 建议你在JavaScript文件中做好详细的脚本注释,说清楚两个文件的关系。例如,可以按如下方式进行补释。当然具体格式和表述内容可以因人而异。 /**************************************** *函数功能:求两个数字的平均值* *提示: 该函数与addition.js文件的addition()关联在一起,在网页中需要同时导入addition.js文件 <script type="text/javascript" src="addition.js"></script> <script type="text/javascript" src="average.js"></script> *****************************************/ 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.5 JavaScript文件的关联和冲突处理 average_floor.js文件中定义了一个average(a, b)函数,函数代码如下: function average(a, b){ return Math.floor((a + b) / 2); } 该函数计算两个参数的平均值,并利用Math对象的floor()方法对平均值进行向下舍入处理。Math.floor()执行的是向下取整计算,它返回的是小于等于函数参数,并且与之最接近的整数。 average_round.js文件中定义了一个同名average(a, b)函数,函数代码如下: function average(a,b){ return Math.round((a+b)/2); 该函数计算两个参数的平均值,并利用Math对象的round()方法对平均值进行四舍五入处理。Math.round()将把它的参数上舍入或下舍入到与它最接近的整数,对于0.5,它将上舍入。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.5 JavaScript文件的关联和冲突处理 解决方法:使用闭包对象封装函数 (function(){ //接口对象; //被封装的函数 } )() 这种结构体实际上就是一个函数体,也被称为闭包,即创建一个封闭的对象结构。有了这个结构,下面我们尝试利用闭包来封装上面两个文件内的函数。 14-11.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.6 JavaScript和CSS文件URL引用和执行 对于CSS来说,样式所引用的外部文件的路径都是以代码所在位置作为参考来进行设置;而JavaScript恰恰相反,它是以所引用的网页位置作为参考进行设置。 单独应用:14-12.html、14-13.html 同时应用CSS和JS:14-14.html JavaScript所定义的样式优先级一定大于由CSS所定义的样式。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.7 JavaScript编辑工具 Dreamweaver对于HTML和CSS支持上已经达到了很完善的地步,但是很有限。 Aptana是一个功能强大的JavaScript开发环境(IDE),不仅对于JavaScript支持比较优越,而且还能够支持各种流行的Ajax技术框架。但是该工具对于JavaScript的支持还不是很完善,例如,你无法使用Aptana自动对脚本进行排版;另外,Aptana软件过于庞大,系统开销比较大,使用起来稍显笨拙。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.1 JavaScript概述 14.1.7 JavaScript编辑工具 1st JavaScript Editor 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.2 JavaScript语言的体系结构 JavaScript是C语言家族的一员,其他成员还包括C、C++、C#、Java、Perl、Python等。如果精通其中任何一门语言,你都可以触类旁通,快速掌握另一门语言的使用。本节将重点讲解JavaScript语言的基本结构和核心价值观(即所谓的基本语法)。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.2 JavaScript语言的体系结构 14.2.1 JavaScript语言的数据结构 对象:{ } 数组:[ ] 调用和分组:( ) 实际上JSON也是通过这种方式来提炼所有语言的基本结构的。JSON是JavaScript Object Notation的缩写,中文翻译为JavaScript对象符号,是一种轻量级的数据交换格式,与XML一样都是一种简单的文本数据格式。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.2 JavaScript语言的体系结构 14.12.1 JavaScript语言的数据结构 对象(Object)是一个“名/值”对的无序集合。所谓无序就是指多个“名/值”对之间没有先后顺序之分。对象都以左大括号({)开始,以右大括号(})结束。每个“名/值”对内的“名称”和“值”之间使用冒号(:)进行分隔,而“名/值”对与“名/值”对之间使用逗号(,)分隔。 请注意,在JavaScript中值可以表示任何类型的数据,如数值、字符串、布尔值、对象、数组等。 14-15.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.2 JavaScript语言的体系结构 14.2.1 JavaScript语言的数据结构 数组(array)是值(value)的有序集合。所谓有序就是指多个值之间必须按先后顺序排列在一起,根据序号可以找到对应的值。数组都以左中括号([)开始,以右中括号(])结束。值之间使用逗号(,)分隔。 14-16.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.2 JavaScript语言的体系结构 14.2.1 JavaScript语言的数据结构 14-17.html 小括号在表达式或字符模式中还可以用来分组,这个知识点我们将在后面详细说明。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.2 JavaScript语言的体系结构 14.2.2 JavaScript语言的文法结构 词 句子 段落 词是JavaScript语言的最小语义单元。包括常量、变量、运算符、表达式、指令、修饰符等。词之间以空格( )进行分隔。 所谓句子,就是由一个或多个词构成的完整逻辑部分。句子以分号(;)作为结束标志,有时候省略分号,以换行符也可以作为一句结束的标志。但是这种做法在特定的情况容易引发解析错误,建议读者在所有句子后面都要增加一个分号。句子中也可以嵌套段落,形成嵌套结构。一个句子必须至少包含一个词,或一个段落。或一个分号,如果仅有一个分号构成的句子,称为空语句。 14-18.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.2 JavaScript语言的体系结构 14.2.2 JavaScript语言的文法结构 段落前面可以增加修饰词,所谓修饰词就是限制对象的谓词,如域谓词(指明对象的作用域,或作用范围)、逻辑谓词(逻辑关系)、函数谓词(函数名、函数参数等)和闭包。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.2 JavaScript语言的体系结构 14.2.2 JavaScript语言的文法结构 《网页制作与网站开发从入门到精通》配套视频 <script language="javascript" type="text/javascript"> var a = 123, b = 321, c; function min(a, b) { return a < b ? a : b; } c = min(a, b); document.write(c); </script> 其中,var、function、return是JavaScript默认定义的指令,它们分别表示不同的命令,如var指令表示定义变量,function指令表示定义函数,return指令表示返回值。 123和321表示常量(即值是固定的),a、b、c表示变量(即值不是固定的),min表示函数变量,document表示默认的对象变量,write表示默认的方法变量。 =、?、:、.、{}、[]、()表示运算符。 以上都是常用的基本词汇。 而“var a = 123, b = 321, c”、“c = min(a, b)”和“document.write(c)”分别表示句子。其中“var a = 123, b = 321, c”长句中还包括3个子句。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.2 JavaScript语言的体系结构 14.2.2 JavaScript语言的文法结构 语法规范: 第一,JavaScript语言是建立在Unicode字符集基础之上,因此在脚本中,你可以自由使用双字节的字符。 第二,JavaScript语言对于字符的大小写是非常敏感的。建议读者养成小写代码的习惯,对于保留字应该根据系统的默认大小写来输入。一般JavaScript语言命名遵循骆驼式命名法。 第三,JavaScript语言一般会忽略分隔符,如空格符、制表符和换行符。在保证不引起歧义的情况下,读者可以利用分隔符对脚本进行排版。 第四,建议养成脚本注释的良好习惯。JavaScript支持两种注释形式: 单行注释,以双斜杠来表示。 第五,记住一个特殊的标记。 第六,适当了解JavaScript语言的保留字。所谓保留字就是指JavaScript默认指定具有特殊含义的词汇,如指令名、语句名、函数名、方法名、对象名、属性名。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.3 常量和变量 常量就是数据值始终是固定的,而变量就是数据值随时发生变化。 14.3 常量和变量 常量就是数据值始终是固定的,而变量就是数据值随时发生变化。 在JavaScript中不需要使用constant语法来定义一个常量,实际上它类似于直接量,如一个数值、一个字符串、一个布尔值、一个明确的函数等,确切的讲就是出现在赋值表达式等号右侧的内容。 可以使用关键字var来声明变量。 14-19.html 每个变量都会存在作用域。所谓作用域就是变量的使用范围,或者说有效范围。在JavaScript中函数和大括号结构(也成为闭包结构)都可以称为域,域之间可以嵌套,于是就形成子域。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.3 常量和变量 如果在域中以var关键字声明的变量,该变量的作用域仅限于当前域,或者当前域的子域。而如果不使用var关键字定义的缺省变量都是全局变量,在整个页面脚本中有效。 14-20.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.4 表达式和运算符 所谓表达式就是一个短语,一般由常量、变量、运算符、其他表达式构成。所有表达式必须返回一个确定的值。最简单的表达式可以是常量或变量,常量表达式的返回值为它本身,而变量表达式的返回值为变量存储或引用的值。 当我们根据一定的语言规则,把这些简单的表达式合并为一个复杂的表达式,那么连接这些表达式的符号就是运算符。此时作用于运算符的表达式就被称为操作数。 14-21.html 运算符一般使用符号来表示,如+、-、/、=、|等,但是有些运算符用关键字来表示,如delete、void等。使用运算符应该注意两个问题: 第一,明白每一种运算符的用途和用法。常用运算符倒好说,特别是一些特殊的运算符,需要读者下点功夫。 第二,应清楚运算符的优先级。建议读者分类记忆,这样效率会更好。 (详细说明可以参考书中的列表) 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 控制语句就是JavaScript语言默认的各种指令,通过这些指令完成程序的逻辑次序。对于流程式编程来说控制语句构成了程序的逻辑框架,从而奠定了程序的基础。提及控制语句你可能想到条件语句和循环语句,实际上控制语句包含的类型还是比较多的。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.1 表达式语句和语句块 所有表达式,以及表达式组成的完整句子都是表达式语句。因此它也是最简单、最基本的语句。这种语句一般按着从上到下的顺序依次被执行。语句块实际上就是由大括号包含的一个或多个语句。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.2 条件语句 程序的基本逻辑结构包括三种:顺序、选择和循环。大部分控制语句都属于顺序结构,而条件语句是属于选择结构。它主要包括if语句和switch语句两种。 if语句 if (condition) statements 下面条件语句的从句是一个句子。该条件语句先判断指定变量是否被初始化,如果没有则新建对象。 if(typeof(o) == "undefined") o = new Object(); 下面条件语句的从句是一个段落。该条件语句先判断变量a是否大于变量b,如果大于则交换值。 if(a > b) { a = a - b; b = a + b; a = b - a; } 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.2 条件语句 在if语句的基本形式上还可以扩展如下语法形式。 if (condition) 14.5 控制语句 14.5.2 条件语句 在if语句的基本形式上还可以扩展如下语法形式。 if (condition) statements1 else statements2 14-22.html 问题结构: if(a > 0) if(b > 0) c = a + b; c = - a + b; 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.2 条件语句 因此为了保证嵌套结构的条件语句能够正确执行,则应该把单句转换为段落形式。例如,把上面示例进行如下修改: if(a > 0){ if(b > 0) c = a + b; } else{ c = - a + b; 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.2 条件语句 if语句也可以相互嵌套。例如: if(a > 0){ a = 0; } else{ 14.5 控制语句 14.5.2 条件语句 if语句也可以相互嵌套。例如: if(a > 0){ a = 0; } else{ if(b > 0){ a = b; if(c > 0){ a = c; a = - 1; 等于: if(a > 0){ a = 0; } else if(b > 0){ a = b; else if(c > 0){ a = c; else{ a = - 1; 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.2 条件语句 switch语句 switch (expression){ case label1 : 14.5 控制语句 14.5.2 条件语句 switch语句 switch (expression){ case label1 : statement1; break; case label2 : statement2; ... default : statementn; } switch语句首先计算switch关键字后面的表达式,然后按着出现的先后顺序计算case后面的表达式,直到找到与switch表达式的值等同(===)的值为止。case表达式通过等同运算来进行判断,因此表达式匹配的时候不进行类型转换。 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.2 条件语句 如果没有一个case标签与switch后面的表达式匹配,则switch语句开始执行标签为default的语句体。如果没有default标签,switch语句就跳出整个结构体。在默认情况下,default标签通常放在末尾,当然也可以放在switch主体的任意位置。 14-23.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.3 循环语句 while语句 while语句的基本语法形式如下: while (condition) { 14.5 控制语句 14.5.3 循环语句 while语句 while语句的基本语法形式如下: while (condition) { statements } while语句在每次循环开始之前都要计算condition表达式。如果为true,则执行循环体内的语句;如果为false,就跳出循环体,转而执行while语句后面的语句。 例如: var a = 0; while (a < 10 ){ document.write(a); a ++ ; 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.3 循环语句 while语句 while语句还有一种特殊的变体,其语法形式如下: do statement 14.5 控制语句 14.5.3 循环语句 while语句 while语句还有一种特殊的变体,其语法形式如下: do statement while (condition); 例如: var a = 0; do{ document.write(a); a ++ ; }while (a < 10 ); 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.3 循环语句 for语句 for语句要比while语句简洁,因此更受用户喜欢。其语法形式如下: 14.5 控制语句 14.5.3 循环语句 for语句 for语句要比while语句简洁,因此更受用户喜欢。其语法形式如下: for ([initial-expression;] [condition;] [increment-expression]) { statements } for语句首先计算初始化表达式(initial-expression),典型情况下用于初始化计数器变量,该表达式可选用var关键字声明新变量。然后在每次执行循环的时候计算该表达式,如果为true,就执行statements中的语句,该条件测试是可选的,如果缺省则条件永远为true。此时除非在循环体内使用break语句,否则不能终止循环。increment-expression表达式通常用于更新或自增计数器变量。 14-24.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.3 循环语句 与while语句一样,for语句也有一种特殊的形式: 14.5 控制语句 14.5.3 循环语句 与while语句一样,for语句也有一种特殊的形式: for (variable in object) { statements } 在这个特殊形式的for语句中,将遍历对象object的所有属性(也可以是数据的所有元素),在遍历过程中把每个属性或元素都临时赋予给变量variable,并同时执行statements语句。 14-25.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.4 跳转语句 跳转语句能够让程序逻辑从所在的分支、循环或从函数调用返回的语句跳出。JavaScript的跳转语句包括3种:break语句、continue语句、return语句。 break语句用来退出循环或者switch语句。 14-26.html 跳转语句也可以与标记结合使用,以实现跳转到指定的行,而不是仅仅跳出循环体。 14-27.html continue语句的用法与break语句相似,唯一的区别是continue语句不会退出循环,而是开始新的迭代(即重新执行循环语句)。不管带标记还是不带标记,continue语句只能够用在循环语句的循环体中。 return语句用来指定函数的返回值,它只能够用在函数或者闭包中。其语法形式如下: return [expression] 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.5 异常处理语句 所谓异常处理是两个概念的混合体,其中异常表示一种非正常的信息,它提示程序发生了意外或错误,然后JavaScript通过一定的机制把异常信号给暴露出来,这个操作就称为抛出(throw),抛出操作将告诉系统当前程序出现了问题。于是JavaScript采用一种机制捕获(catch)这个异常,并进行处理。 Try //执行语句 { CreateException(); } catch(ex) //捕获异常 alert(ex.number+"\n"+ex.description); finally //最后必须执行的语句 alert("end"); 14-28.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.6 var语句和function语句 14.5 控制语句 14.5.6 var语句和function语句 var语句能够明确的声明一个或多个变量,也可以在声明变量时进行初始化。缺省状态,被声明的变量初始值为underfined。 function语句用来定义函数或闭包,其基本形式如下: function [name]([param] [, param] [..., param]) { statements } 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.7 with语句和空语句 with语句能够为一组语句创建缺省的对象。在这一组语句中,任何不指定对象的属性引用都将被认为是缺省对象的。通俗说就是with语句用来缩短特定情形下必须写的代码量。其语法形式如下: with (object){ statements } 原来用法:14-29.html 、14-30.html with用法: 14-31.html 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)
14.5 控制语句 14.5.7 with语句和空语句 空语句就是只有一个独立的分号。空语句的作用就是创建一个主题为空的条件或者循环。例如: 14.5 控制语句 14.5.7 with语句和空语句 空语句就是只有一个独立的分号。空语句的作用就是创建一个主题为空的条件或者循环。例如: while(true){ ; } (休息一下) 《网页制作与网站开发从入门到精通》配套视频 样吧视频教室(www.css8.cn)