javascript基础教程2
- 格式:ppt
- 大小:1.94 MB
- 文档页数:28
JavaScript 简介之杨若古兰创作JavaScript 有什么特点JavaScript 使网页添加互动性.JavaScript 使有规律地反复的HTML文段简化,减少下载时间.JavaScript 能及时呼利用户的操纵,对提交表单做即时的检查,无需浪费时间交由CGI 验证.JavaScript 的特点是无量无尽的,只需你有创意. Java 与 JavaScript 有什么分歧很多人看到Java 和JavaScript 都有“Java”四个字,就觉得它们是同一样东西,连我本人当初也是如许.其实它们是完完好全分歧的两种东西.Java,全称应当是Java Applet,是嵌在网页中,而又有本人独立的运转窗口的小程序.Java Applet 是事后编译好的,一个Applet 文件(.class)用Notepad 打开浏览,根本不克不及理解.Java Applet 的功能很强大,可以访问http、ftp等和谈,甚至可以在电脑上种病毒(已有先例了).比拟之下,JavaScript 的能力就比较小了.JavaScript 是一种“脚本”(“Script”),它直接把代码写到HTML 文档中,浏览器读取它们的时候才进行编译、履行,所以能检查HTML 源文件就能检查JavaScript 源代码.JavaScript 没有独立的运转窗口,浏览器当前窗口就是它的运转窗口.它们的不异点,我想只要同是以 Java 作编程说话一点了.开发 JavaScript 该用什么软件一个 JavaScript 程序其实是一个文档,一个文本文件.它是嵌入到HTML 文档中的.所以,任何可以编写HTML 文档的软件都可以用来开发JavaScript.在此我推荐大家用FrontPage 2000 附带的Microsoft 脚本编辑器(在FrontPage 菜单 | 工具 | 宏 | Microsoft 脚本编辑器).它是个像Visual Basic / C++ 一样的程序开发器,能对正在输入的语句作出简要提示.配合FrontPage 2000,使工作量大大减少. JavaScript 说话的基础在什么地方拔出 JavaScriptJavaScript 可以出此刻HTML 的任意地方.使用标识表记标帜<script>…</script>,你可以在HTML 文档的任意地方拔出JavaScript,甚至在<HTML>之前拔出也不成成绩.不过如果要在声明框架的网页(框架网页)中拔出,就必定要在<frameset>之前拔出,否则不会运转.基本格式<script><!--...(JavaScript代码)...//--></script>第二行和第四行的感化,是让不懂<script>标识表记标帜的浏览器忽略JavaScript 代码.普通可以省略,因为此刻想找不懂Script 的浏览器,恐怕就连博物馆里也没有了.第四行前边的双反斜杠“//”是 JavaScript 里的正文标号,当前将学到.另外一种拔出 JavaScript 的方法,是把JavaScript 代码写到另一个文件当中(此文件通常应当用“.js”作扩展名),然后用格式为“<script src="javascript.js"></script>”的标识表记标帜把它嵌入到文档中.留意,必定要用“</script>”标识表记标帜.参考<script>标识表记标帜还有一个属性:language(缩写lang),说明脚本使用的说话.对于JavaScript,请用“language="JavaScript"”.参考绝对于<script>标识表记标帜,还有一个<server>标识表记标帜.<server>标识表记标帜所包含的,是服务器端(Server Side)的脚本.本教程只讨论客户器端(Client Side)的JavaScript,也就是用<script>标识表记标帜包含的脚本.如果想在浏览器的“地址”栏中履行JavaScript 语句,用如许的格式:javascript:<JavaScript语句>如许的格式也能够用在连接中:<a href="javascript:<JavaScript语句>">...</a>JavaScript 基本语法每一句JavaScript 都有类似于以下的格式:<语句>;其平分号“;”是JavaScript 说话作为一个语句结束的标识符.虽然此刻很多浏览器都答应用回车充当结束符号,培养用分号作结束的习气仍然是很好的.语句块语句块是用大括号“{ }”括起来的一个或 n 个语句.在大括号里边是几个语句,但是在大括号外边,语句块是被当作一个语句的.语句块是可以嵌套的,也就是说,一个语句块里边可以再包含一个或多个语句块.JavaScript 中的变量什么是变量从字面上看,变量是可变的量;从编程角度讲,变量是用于存储某种/某些数值的存储器.所储存的值,可所以数字、字符或其他的一些东西.变量的命名变量的命名有以下请求:只包含字母、数字和/或下划线;要以字母开头;不克不及太长(其实有什么人爱好使用又长又臭的名字呢?);不克不及与 JavaScript 保存字(Key Words,Reserved Words,数量繁多,不克不及逐个列出;凡是可以用来做JavaScript 命令的字都是保存字)反复.而且,变量是区分大小写的,例如,variable 和Variable 是两个分歧的变量.不但如此,大部分命令和“对象”(请参阅“对象化编程”章)都是区分大小写的.提示给变量命名,最好防止用单个字母“a”“b”“c”等,而改用能清楚表达该变量在程序中的感化的词语.如许,不但他人能更容易的了解你的程序,而且你在当前要点窜程序的时候,也很快会记得该变量的感化.变量名普通用小写,如果是由多个单词构成的,那么第一个单词用小写,其他单词的第一个字母用大写.例如:myVariable 和myAnotherVariable.如许做仅仅是为了美观和易读,因为JavaScript 一些命令(当前将用更具体的方法论述“命令”一词)都是用这类方法命名的:indexOf;charAt 等等.变量须要声明没有声明的变量不克不及使用,否则会出错:“不决义”.声明变量可以用:var <变量> [= <值>];var我们接触的第一个关键字(即保存字).这个关键字用出声明变量.最简单的声明方法就是“var <变量>;”,这将为<变量>筹办内存,给它赋初始值“null”.如果加上“= <值>”,则给<变量>赋予自定的初始值<值>.数据类型变量可以用的数据类型有:整型只能储存整数.可所以正整数、0、负整数,可所以十进制、八进制、十六进制.八进制数的暗示方法是在数字前加“0”,如“0123”暗示八进制数“123”.十六进制则是加“0x”:“0xEF”暗示十六进制数“EF”.浮点型即“实型”,能储存小数.有材料显示,某些平台对浮点型变量的撑持不波动.没有须要就不要用浮点型.字符串型是用引号“" "”、“' '”包起来的零个至少个字符.用单引号还是双引号由你决定.跟语文一样,用哪个引号开始就用哪个结束,而且单双引号可嵌套使用:'这里是"JavaScript 教程".' 不过跟语文分歧的是,JavaScript 中引号的嵌套只能有一层.如果想再多嵌一些,你须要本义字符:本义字符因为一些字符在屏幕上不克不及显示,或者JavaScript 语法上曾经有了特殊用处,在要用这些字符时,就要使用“本义字符”.本义字符用斜杠“\”开头:\' 单引号、\" 双引号、\n 换行符、\r 回车(以上只列出经常使用的本义字符).因而,使用本义字符,就可以做到引号多重嵌套:'Micro 说:"这里是\"JavaScript 教程\"." '布尔型经常使用于判断,只要两个值可选:true(表“真”)和false(表“假”).true 和false 是JavaScript 的保存字.它们属于“常数”.对象关于对象,在“对象化编程”一章将具体讲到.因为JavaScript 对数据类型的请求不严酷,普通来说,声明变量的时候不须要声明类型.而且就算声明了类型,在过程中还可以给变量赋予其他类型的值.声明类型可以用赋予初始值的方法做到:var aString = '';这将把 aString 定义为具有空值的字符串型变量.var anInteger = 0;这将把 anInteger 定义为值为 0 的整型.变量的赋值一个变量声明后,可以在任何时候对其赋值.赋值的语法是:<变量> = <表达式>;其中“=”叫“赋值符”,它的感化是把右侧的值赋给右边的变量.下一节将讨论到表达式.JavaScript常数有以下几个:null一个特殊的空值.当变量不决义,或者定义以后没有对其进行任何赋值操纵,它的值就是“null”.企图返回一个不存在的对象时也会出现null 值.NaN“Not a Number”.出现这个数值比较少见,以致于我们可以不睬它.当运算没法返回准确的数值时,就会返回“NaN”值.NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至NaN 本人也不等于NaN .true布尔值“真”.用通俗的说法,“对”.false布尔值“假”.用通俗的说法,“错”.在Math表达式与运算符表达式常数和变量连接起来的代数式.一个表达式可以只包含一个常数或一个变量.运算符可所以四则运算符、关系运算符、位运算符、逻辑运算符、复合运算符.下表将这些运算符从高优先级到低优先级排列:留意所有与四则运算有关的运算符都不克不及感化在字符串型变量上.字符串可以使用 +、+= 作为连接两个字符串之用.提示请密切留意运算的优先级.编程时如果不记得运算符的优先级,可以使(a == 0)||(b == 0)..例如,用以下语= c = 10,可以一次对三个JavaScript 基本编程命正文像其他所有说话一样,JavaScript 的正文在运转时也是被忽略的.正文只给程序员提供动静.JavaScript 正文有两种:单行正文和多行正文.单行正文用双反斜杠“//”暗示.当一行代码有“//”,那么,“//”后面的部分将被忽略.而多行正文是用“/*”和“*/”括起来的一行到多行文字.程序履行到“/*”处,将忽略当前的所有文字,直到出现“*/”为止.提示如果你的程序须要草稿,或者须要让他人浏览,正文能帮上大忙.养成写正文的习气,能节省你和其他程序员的贵重时间,使他们不必花费多余的时间揣摩你的程序.在程序调试的时候,有时须要把一段代码换成另一段,或者临时不要一段代码.这时候最忌用 Delete 键,如果想要回那段代码如何办?最好还是用正文,把临时不要的代码“隐”去,到确定方法当前再删除也不迟.if 语句if ( <条件> ) <语句1> [ else <语句2> ];本语句有点象条件表达式“?:”:当<条件>为真时履行<语句1>,否则,如果else 部分存在的话,就履行<语句2>.与“?:”分歧的是,if 只是一条语句,不会返回数值.<条件>是布尔值,必须用小括号括起来;<语句1>和<语句2>都只能是一个语句,欲使用多条语句,请用语句块.留意请看下例:if (a == 1) if (b == 0) alert(a+b);else alert(a-b);本代码企图用缩进的方法说明else 是对应if (a == 1) 的,但是实际上,因为else 与if (b == 0) 最附近,本代码不克不及按作者的设法运转.准确的代码是if (a == 1) { if (b == 0) alert(a+b);} else { alert(a-b);}提示一行代码太长,或者涉及到比较复杂的嵌套,可以考虑用多行文本,如上例,if (a == 1) 后面没有立即写上语句,而是换一行再继续写.浏览器不会混淆的,当它们读完一行,发现是一句未完成语句,它们会继续往下读.使用缩进也是很好的习气,当一些语句与上面的一两句语句有从属关系时,使用缩进能使程序更易读,方便程序员进行编写或点窜工作.轮回体for (<变量>=<初始值>; <轮回条件>; <变量累加方法>) <语句>;本语句的感化是反复履行<语句>,直到<轮回条件>为false 为止.它是如许运作的:首先给<变量>赋<初始值>,然后*判断<轮回条件>(应当是一个关于<变量>的条件表达式)是否成立,如果成立就履行<语句>,然后按<变量累加方法>对<变量>作累加,回到“*”处反复,如果不成立就退出轮回.这叫做“for轮回”.上面看看例子.for (i = 1; i < 10; i++) document.write(i);本语句先给i 赋初始值1,然后履行document.write(i)语句(感化是在文档中写i 的值,请参越“对象化编程”一章);反复时i++,也就是把i 加1;轮回直到i<10 不满足,也就是i>=10 时结束.结果是在文档中输出了“123456789”.和 if 语句一样,<语句>只能是一行语句,如果想用多条语句,你须要用语句块.与其他说话分歧,JavaScript 的for 轮回没有规定轮回变量每次轮回必定要加一或减一,<变量累加方法>可所以任意的赋值表达式,如i+=3、i*=2、i-=j 等都成立.提示适当的使用for 轮回,能使HTML 文档中大量的有规律反复的部分简化,也就是用for 轮回反复写一些HTML 代码,达到提高网页下载速度的目的.不过请在Netscape 中反复进行严酷测试,包管通过了才好把网页传上去.作者曾试过多次因为用for 轮回向文档反复写HTML 代码而导致Netscape“猝死”.IE 中绝对没有这类事情发生,如果你的网也是只给IE 看的,用多多的 for 也没成绩.除了 for 轮回,JavaScript 还提供while 轮回.while (<轮回条件>) <语句>;比 for 轮回简单,while 轮回的感化是当满足<轮回条件>时履行<语句>.while 轮回的累加性质没有for 轮回强.<语句>也只能是一条语句,但是普通情况下都使用语句块,因为除了要反复履行某些语句以外,还须要一些能变动<轮回条件>所涉及的变量的值的语句,否则一但踏入此轮回,就会因为条件老是满足而不断困在轮回里面,不克不及出来.这类情况,我们习气称之为“死轮回”.死轮回会弄停当时正在运转的代码、正鄙人载的文档,和占用很大的内存,很可能形成死机,应当尽最大的努力防止.break和 continue有时候在轮回体内,须要立即跳出轮回或跳过轮回体内其余代码而进行下一次轮回.break 和 continue 帮了我们大忙.break;本语句放在轮回体内,感化是立即跳出轮回.continue;本语句放在轮回体内,感化是中断本次轮回,并履行下一次轮回.如果轮回的条件曾经不符合,就跳出轮回.例for (i = 1; i < 10; i++) { if (i == 3 || i == 5 || i == 8) continue; document.write(i);}输出:124679.switch 语句如果要把某些数据分类,例如,要把先生的成绩按优、良、中、差分类,我们可能会用 if 语句:if (score >= 0 && score < 60) { result = 'fail';} else if (score < 80) { result = 'pass';} else if (score < 90) { result = 'good';} else if (score <= 100) { result = 'excellent';} else { result = 'error';}看起来没有成绩,但使用太多的 if 语句的话,程序看起来有点乱.switch 语句就是解决这类成绩的最好方法. switch (e) { case r1: (留意:冒号)... [break;] case r2: ... [break;] ... [default: ...]}这一大段的感化是:计算e 的值(e 为表达式),然后跟下边“case”后的r1、r2……比较,当找到一个相等于e 的值时,就履行该“case”后的语句,直到碰到break 语句或switch 段落结束(“}”).如果没有一个值与e 匹配,那么就履行“default:”后边的语句,如果没有default 块,switch 语句结束.上边的 if 段用 switch 改写就是:switch (parseInt(score / 10)) { case 0: case 1: case 2: case 3: case 4: case 5: result = 'fail'; break; case 6: case 7: result = 'pass'; break; case 8: result = 'good'; break; case 9: result = 'excellent'; break; default: if (score == 100) result = 'excellent'; else result = 'error';}其中parseInt()方法是当前会介绍的,感化是取整.最初default 段用的if 语句,是为了不把100 分当错误论(parseInt(100 / 10) == 10).. 对象化编程JavaScript 是使用“对象化编程”的,或者叫“面向对象编程”的.所谓“对象化编程”,意思是把JavaScript 能涉及的范围划分成大大小小的对象,对象上面还继续划分对象直至非常具体为止,所有的编程都以对象为出发点,基于对象.小到一个变量,大到网页文档、窗口甚至屏幕,都是对象.这一章将“面向对象”讲述JavaScript 的运转情况.对象的基本常识对象是可以从JavaScript“势力范围”中划分出来的一小块,可所以一段文字、一幅图片、一个表单(Form)等等.每个对象有它本人的属性、方法和事件.对象的属性是反映该对象某些特定的性质的,例如:字符串的长度、图像的长宽、文字框(Textbox)里的文字等等;对象的方法能对该对象做一些事情,例如,表单的“提交”(Submit),窗口的“滚动”(Scrolling)等等;而对象的事件就能呼应发生在对象上的事情,例如提交表单发生表单的“提交事件”,点击连接发生的“点击事件”.不是所有的对象都有以上三个性质,有些没有事件,有些只要属性.援用对象的任一“性质”用“<对象名>.<性质名>”这类方法.基本对象此刻我们要复习以上学过的内容了——把一些数据类型用对象的角度从头进修一下.Number“数字”对象.这个对象用得很少,作者就一次也没有见过.不过属于“Number”的对象,也就是“变量”就多了.属性MAX_VALUE用法:Number.MAX_VALUE;返回“最大值”.MIN_VALUE用法:Number.MIN_VALUE;返回“最小值”.NaN用法:Number.NaN 或NaN;返回“NaN”.“NaN”(不是数值)在很早就介绍过了.NEGATIVE_INFINITY用法:Number.NEGATIVE_INFINITY;返回:负无量大,比“最小值”还小的值.POSITIVE_INFINITY用法:Number.POSITIVE_INFINITY;返回:正无量大,比“最大值”还大的值.方法toString()用法:<数值变量>.toString();返回:字符串方式的数值.如:若a == 123;则a.toString() == '123'.String字符串对象.声明一个字符串对象最简单、快捷、无效、经常使用的方法就是直接赋值.属性length用法:<字符串对象>.length;返回该字符串的长度.方法charAt()用法:<字符串对象>.charAt(<地位>);返回该字符串位于第<地位>位的单个字符.留意:字符串中的一个字符是第0 位的,第二个才是第1 位的,最初一个字符是第 length - 1 位的.charCodeAt()用法:<字符串对象>.charCodeAt(<地位>);返回该字符串位于第<地位>位的单个字符的ASCII 码.fromCharCode()用法:String.fromCharCode(a, b, c...);返回一个字符串,该字符串每个字符的ASCII 码由 a, b, c... 等来确定.indexOf()用法:<字符串对象>.indexOf(<另一个字符串对象>[, <起始地位>]);该方法从<字符串对象>中查找<另一个字符串对象>(如果给出<起始地位>就忽略之前的地位),如果找到了,就返回它的地位,没有找到就返回“-1”.所有的“地位”都是从零开始的.lastIndexOf()用法:<字符串对象>.lastIndexOf(<另一个字符串对象>[, <起始地位>]);跟indexOf() 类似,不过是从后边开始找.split()用法:<字符串对象>.split(<分隔符字符>);返回一个数组,该数组是从<字符串对象>平分离开来的,<分隔符字符>决定了分离的地方,它本人不会包含在所返回的数组中.例如:'1&2&345&678'.split('&')返回数组:1,2,345,678.关于数组,我们等一下就讨论.substring()用法:<字符串对象>.substring(<始>[, <终>]);返回原字符串的子字符串,该字符串是原字符串从<始>地位到<终>地位的前一地位的一段.<终> - <始> = 返回字符串的长度(length).如果没有指定<终>或指定得超出字符串长度,则子字符串从<始>地位不断取到原字符串尾.如果所指定的地位不克不及返回字符串,则返回空字符串.substr()用法:<字符串对象>.substr(<始>[, <长>]);返回原字符串的子字符串,该字符串是原字符串从<始>地位开始,长度为<长>的一段.如果没有指定<长>或指定得超出字符串长度,则子字符串从<始>地位不断取到原字符串尾.如果所指定的地位不克不及返回字符串,则返回空字符串.toLowerCase()用法:<字符串对象>.toLowerCase();返回把原字符串所有大写字母都酿成小写的字符串.toUpperCase()用法:<字符串对象>.toUpperCase();返回把原字符串所有小写字母都酿成大写的字符串. Array数组对象.数组对象是一个对象的集合,里边的对象可所以分歧类型的.数组的每一个成员对象都有一个“下标”,用来暗示它在数组中的地位(既然是“地位”,就也是从零开始的啦).数组的定义方法:var <数组名> = new Array();如许就定义了一个空数组.当前要添加数组元素,就用:<数组名>[<下标>] = ...;留意这里的方括号不是“可以省略”的意思,数组的下标暗示方法就是用方括号括起来.如果想在定义数组的时候直接初始化数据,请用:var <数组名> = new Array(<元素1>, <元素2>, <元素3>...);例如,var myArray = new Array(1, 4.5, 'Hi'); 定义了一个数组myArray,里边的元素是:myArray[0] == 1; myArray[1] == 4.5; myArray[2] == 'Hi'.但是,如果元素列表中只要一个元素,而这个元素又是一个正整数的话,这将定义一个包含<正整数>个空元素的数组.留意:JavaScript只要一维数组!千万不要用“Array(3,4)”这类笨拙的方法来定义 4 x 5 的二维数组,或者用“myArray[2,3]”这类方法来返回“二维数组”中的元素.任意“myArray[...,3]”这类方式的调用其实只返回了“myArray[3]”.要使用多维数组,请用这类虚拟法:var myArray = new Array(new Array(), new Array(), new Array(), ...);其实这是一个一维数组,里边的每一个元素又是一个数组.调用这个“二维数组”的元素时:myArray[2][3] = ...;属性length用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素.它等于数组里最初一个元素的下标加一.所以,想添加一个元素,只须要:myArray[myArray.length] = ....方法join()用法:<数组对象>.join(<分隔符>);返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间.这个方法不影响数组本来的内容.reverse()用法:<数组对象>.reverse();使数组中的元素顺序反过来.如果对数组[1, 2, 3]使用这个方法,它将使数组酿成:[3, 2, 1].slice()用法:<数组对象>.slice(<始>[, <终>]);返回一个数组,该数组是原数组的子集,始于<始>,终究<终>.如果不给出<终>,则子集不断取到原数组的结尾.sort()用法:<数组对象>.sort([<方法函数>]);使数组中的元素按照必定的顺序排列.如果不指定<方法函数>,则按字母顺序排列.在这类情况下,80 是比9 排得前的.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序.<方法函数>比较难讲述,这里只将一些有效的<方法函数>介绍给大家.按升序排列数字:function sortMethod(a, b) { return a - b;}myArray.sort(sortMethod);按降序排列数字:把上面的“a - b”该成“b - a”.有关函数,请看上面.Math“数学”对象,提供对数据的数学计算.上面所提到的属性和方法,不再具体说明“用法”,大家在使用的时候记住用“Math.<名>”这类格式.属性E返回常数e (2.718281828...).LN2返回2 的天然对数 (ln 2).LN10返回 10 的天然对数 (ln 10).LOG2E返回以 2 为低的e 的对数(log2e).LOG10E返回以10 为低的 e 的对数(log10e).PI返回π(3.1415926535...).SQRT1_2返回 1/2 的平方根.SQRT2返回 2 的平方根.方法abs(x)返回 x 的绝对值.acos(x)返回 x 的反余弦值(余弦值等于x 的角度),用弧度暗示.asin(x)返回x 的反正弦值.atan(x)返回x 的反正切值.atan2(x, y)返回复平面内点(x, y)对应的复数的幅角,用弧度暗示,其值在-π 到π 之间.ceil(x)返回大于等于x 的最小整数.cos(x)返回 x 的余弦.exp(x)返回 e 的x 次幂 (e x).floor(x)返回小于等于 x 的最大整数.log(x)返回x 的天然对数(ln x).max(a, b)返回 a, b 中较大的数.min(a, b)返回a, b 中较小的数.pow(n, m)返回n 的m 次幂(n m).random()返回大于0小于1 的一个随机数.round(x)返回x 四舍五入后的值.sin(x)返回x 的正弦.sqrt(x)返回 x 的平方根.tan(x)返回 x 的正切.Date日期对象.这个对象可以储存任意一个日期,从0001 年到9999 年,而且可以精确到毫秒数(1/1000 秒).在内部,日期对象是一个整数,它是从1970 年1 月1 日零时正开始计算到日期对象所指的日期的毫秒数.如果所指日期比1970 年早,则它是一个负数.所有日期时间,如果不指定时区,都采取“UTC”(世界时)时区,它与“GMT”(格林威治时间)在数值上是一样的.定义一个日期对象:var d = new Date;这个方法使d 成为日期对象,而且已有初始值:当前时间.如果要自定初始值,可以用:var d = new Date(99, 10, 1); //99 年10 月1 日var d = new Date('Oct 1, 1999'); //99 年 10 月 1 日等等方法.最好的方法就是用上面介绍的“方法”来严酷的定义时间.方法以下有很多“g/set[UTC]XXX”如许的方法,它暗示既有“getXXX”方法,又有“setXXX”方法.“get”是获得某个数值,而“set”是设定某个数值.如果带有“UTC”字母,则暗示获得/设定的数值是基于UTC 时间的,没有则暗示基于当地时间或浏览期默认时间的.如无说明,方法的使用格式为:“<对象>.<方法>”,下同.g/set[UTC]FullYear()返回/设置年份,用四位数暗示.如果使用“x.set[UTC]FullYear(99)”,则年份被设定为 0099 年.g/set[UTC]Year()返回/设置年份,用两位数暗示.设定的时候浏览器主动加上“19”开头,故使用“x.set[UTC]Year(00)”把年份设定为1900 年.g/set[UTC]Month()返回/设置月份.g/set[UTC]Date()返回/设置日期.g/set[UTC]Day()返回/设置礼拜,0 暗示礼拜天.g/set[UTC]Hours()返回/设置小时数,24小时制.g/set[UTC]Minutes()返回/设置分钟数.g/set[UTC]Seconds()返回/设置秒钟数.g/set[UTC]Milliseconds()返回/设置毫秒数.g/setTime()返回/设置时间,该时间就是日期对象的内部处理方法:从1970 年1 月1 日零时正开始计算到日期对象所指的日期的毫秒数.如果要使某日期对象所指的时间推迟 1 小时,就用:“x.setTime(x.getTime() + 60 * 60 * 1000);”(一小时60 分,一分60 秒,一秒1000 毫秒).getTimezoneOffset()返回日期对象采取的时区与格林威治时间所差的分钟数.在格林威治东方的市区,该值为负,例如:中国时区(GMT+0800)返回“-480”.toString()返回一个字符串,描述日期对象所指的日期.这个字符串的格式类似于:“Fri Jul 21 15:43:46 UTC+0800 2000”.toLocaleString()返回一个字符串,描述日期对象所指的日期,用当地时间暗示格式.如:“2000-07-21 15:43:46”.toGMTString()返回一个字符串,描述日期对象所指的日期,用GMT 格式.toUTCString()返回一个字符串,描述日期对象所指的日期,用UTC 格式.parse()用法:Date.parse(<日期对象>);返回该日期对象的内部表达方式.全局对象全局对象从不现形,它可以说是虚拟出来的,目的在于把全局函数“对象化”.在 Microsoft JScript 说话参考中,它叫做“Global 对象”,但是援用它的方法和属性从来不必“Global.xxx”(况且如许做会出错),而直接用。
1.在JavaScript当中,定义函数时可以使用()个参数。
A.0B.1C.2D.任意答案:D2.在JavaScript中,要定义一个全局变量x,可以()。
A.使用关键字public在函数中定义B.使用关键字public在任何函数之外定义C.使用关键字var在函数中定义D.使用关键字var在任何函数之外定义答案:D3.“var i; while(i=0)i--;”中while的循环次数是()。
A.0B.1C.5D.无限答案:A4.下列关于循环语句的描述中,()是不正确的。
A.循环体内可以包含循环语句B.循环体内必须同时出现break和continue语句C.循环体内可以出现条件语句D.循环体可以是空语句答案:B5.JavaScript是运行在()的脚本语言。
A.服务器端B.客户端C.在服务器端运行后,结果返回客户端D.在客户端运行后,结果返回服务器端6.setTimeout(“buy()”,20)表示的意思是()。
A.间隔20秒后,buy()函数被调用一次B.间隔20分钟后,buy()函数被调用一次C.间隔20毫秒后,buy()函数被调用一次D.buy()函数被持续调用20次答案:C7.在JavaScript中,能使文本框失去焦点的方法是()。
A.onblur()B.focus()C.blur()D.leave()答案:C8.在Javascript中,运行Math.ceil(25.5); 的结果是()。
A.24B.25C.25.5D.26答案:D9.在JavaScript中()方法可以对数组元素进行排序。
A.add()B.join()C.sort()D.length()答案:C10.以下不属于javascript中提供的常用数据类型的是()。
A.UndefinedB.NullD.Connection答案:D11.JavaScript是Microsoft公司设计的脚本语言。
()A.正确B.错误答案:B12.编写JavaScript程序的唯一工具是纯文本编辑器。
JavaScript最新教案第一章:JavaScript简介1.1 课程目标了解JavaScript的历史和发展掌握JavaScript的基本概念和特点理解JavaScript在Web开发中的作用1.2 教学内容JavaScript的起源和发展JavaScript的语法和特点JavaScript的核心概念JavaScript在现代Web开发中的应用1.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答1.4 教学资源教案和演示文稿示例代码和练习题在线资源和参考资料1.5 教学评估课堂参与和讨论练习题和代码实现项目评估和反馈第二章:JavaScript基础语法2.1 课程目标掌握JavaScript的基本语法和结构理解变量、数据类型和运算符的使用学会使用控制结构和函数2.2 教学内容JavaScript的基本语法和结构变量和数据类型的定义和使用运算符的种类和功能控制结构的作用和实现函数的定义和调用2.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答2.4 教学资源教案和演示文稿示例代码和练习题在线资源和参考资料2.5 教学评估课堂参与和讨论练习题和代码实现项目评估和反馈第三章:JavaScript对象和数组3.1 课程目标理解对象的概念和作用掌握对象的创建和属性的操作学会使用数组和字符串的处理方法3.2 教学内容对象的概念和作用创建对象和使用构造函数属性和属性的操作数组的概念和操作方法字符串的处理和操作3.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答3.4 教学资源教案和演示文稿示例代码和练习题在线资源和参考资料3.5 教学评估练习题和代码实现项目评估和反馈第四章:JavaScript事件处理4.1 课程目标理解事件的概念和作用掌握事件处理的方法和技巧学会使用事件监听器和事件委托4.2 教学内容事件的概念和作用事件处理的方法和技巧事件监听器的使用和实现事件委托的原理和应用4.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答4.4 教学资源教案和演示文稿示例代码和练习题在线资源和参考资料4.5 教学评估练习题和代码实现项目评估和反馈第五章:JavaScript高级应用5.1 课程目标掌握JavaScript的高级特性学会使用ES6和ES7的新特性理解模块化和组件化的开发模式5.2 教学内容JavaScript的高级特性ES6和ES7的新特性模块化的概念和实现组件化的开发模式和应用5.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答5.4 教学资源教案和演示文稿示例代码和练习题在线资源和参考资料5.5 教学评估练习题和代码实现项目评估和反馈第六章:JavaScript DOM操作6.1 课程目标理解DOM的概念和结构掌握DOM的查询和修改方法学会使用DOM事件处理和动画6.2 教学内容DOM的概念和结构DOM的查询方法(getElementById, getElementsByClassName, querySelector等)DOM的修改方法(添加、删除、修改元素和属性)DOM事件处理(事件监听器、事件流、事件对象)DOM动画的实现(transition, animation等)6.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答6.4 教学资源教案和演示文稿示例代码和练习题6.5 教学评估课堂参与和讨论练习题和代码实现项目评估和反馈第七章:JavaScript网络请求7.1 课程目标理解网络请求的概念和原理掌握JavaScript中网络请求的实现学会使用协议和REST API7.2 教学内容网络请求的概念和原理JavaScript中的网络请求(XMLHttpRequest, Fetch API)协议的基本概念和状态码REST API的设计原则和实现7.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答7.4 教学资源教案和演示文稿示例代码和练习题7.5 教学评估课堂参与和讨论练习题和代码实现项目评估和反馈第八章:JavaScript模块化和打包8.1 课程目标理解模块化的概念和优势掌握JavaScript模块化的实现学会使用打包工具和构建流程8.2 教学内容模块化的概念和优势JavaScript模块化的实现(CommonJS, ES6模块)打包工具的使用(Webpack, Parcel, Rollup)构建流程和自动化(Gulp, Grunt, npm scripts)8.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答8.4 教学资源教案和演示文稿示例代码和练习题8.5 教学评估课堂参与和讨论练习题和代码实现项目评估和反馈第九章:JavaScript前端框架9.1 课程目标理解前端框架的概念和作用掌握常见前端框架的使用学会前端框架的原理和扩展9.2 教学内容前端框架的概念和作用常见前端框架(React, Vue, Angular)的使用和比较前端框架的原理和扩展(组件化、状态管理等)9.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答9.4 教学资源教案和演示文稿示例代码和练习题在线资源和参考资料9.5 教学评估课堂参与和讨论练习题和代码实现项目评估和反馈第十章:JavaScript项目实践10.1 课程目标理解项目实践的重要性掌握项目开发的流程和技巧完成一个简单的JavaScript项目10.2 教学内容项目实践的重要性项目开发的流程和技巧(需求分析、设计、编码、测试)完成一个简单的JavaScript项目(如待办事项列表、天气应用等)10.3 教学方法讲解和演示示例代码和练习互动讨论和问题解答10.4 教学资源教案和演示文稿示例代码和练习题在线资源和参考资料10.5 教学评估课堂参与和讨论练习题和代码实现项目评估和反馈重点和难点解析一、JavaScript简介1.1 重点和难点解析JavaScript的历史和发展JavaScript的基本概念和特点JavaScript在Web开发中的作用二、JavaScript基础语法2.1 重点和难点解析变量和数据类型的定义和使用运算符的种类和功能控制结构的作用和实现函数的定义和调用三、JavaScript对象和数组3.1 重点和难点解析对象的概念和作用创建对象和使用构造函数属性和属性的操作数组的概念和操作方法字符串的处理和操作四、JavaScript事件处理4.1 重点和难点解析事件的概念和作用事件处理的方法和技巧事件监听器的使用和实现事件委托的原理和应用五、JavaScript高级应用5.1 重点和难点解析JavaScript的高级特性ES6和ES7的新特性模块化的概念和实现组件化的开发模式和应用六、JavaScript DOM操作6.1 重点和难点解析DOM的概念和结构DOM的查询方法DOM的修改方法DOM事件处理和动画七、JavaScript网络请求7.1 重点和难点解析网络请求的概念和原理JavaScript中的网络请求协议和REST API八、JavaScript模块化和打包8.1 重点和难点解析模块化的概念和优势JavaScript模块化的实现打包工具和构建流程九、JavaScript前端框架9.1 重点和难点解析前端框架的概念和作用常见前端框架的使用和比较前端框架的原理和扩展十、JavaScript项目实践10.1 重点和难点解析项目实践的重要性项目开发的流程和技巧完成一个简单的JavaScript项目全文总结和概括:本文针对“JavaScript最新教案”的十个章节进行了重点和难点的解析。
JavaScript初级基础教程一:语句、执行顺序、词法结构、标识符、关键字、变量、常量、alert语句和console控制台。
JavaScript执行顺序:step 1. 读入第一个代码块。
step 2. 做语法分析,有错则报语法错误(比如括号不匹配等),并跳转到step5。
step 3. 对var变量和function定义做“预编译处理”(永远不会报错的,因为只解析正确的声明)。
step 4. 执行代码段,有错则报错(比如变量未定义)。
step 5. 如果还有下一个代码段,则读入下一个代码段,重复step2。
step6. 结束。
javascript语法结构:一:字符集1、区分大小写JavaScript是区分大小写的语言所有的标识符(identifier)都必须采取一致的大小写形式但是Html并不区分大小写(尽管Xhtml区分)2、空格、换行符和格式控制符JS会忽略程序中的标识(token)之间的空格。
多数情况下也会忽略换行符除了可以识别普通的空格符(\u0020),JS也可以识别如下这些表示空格的字符*水平制表符(\u0009)*垂直制表符(\u000B)*换页符(\u000C)*不中断空白(\u00A*字节序标记(\ufeff)JS将如下字符识别为行为结束符三:注释//单行/*...*/多行四:直接量直接量(literal):就是程序中直接使用的数据值。
eg:12//数字1.2//小数“hello world” //字符串文本’hi‘ //字符串ture //布尔值false //另一个布尔值/javascript/gi //正则表达式直接量(用做模式匹配)null //空五:标识符和保留字在js中标识符用来对变量和函数进行命名,或者用作Js代码中的某些循环语句中的跳转位置的标记。
JS标识符必须以字母、下划线(_)或美元符($开始)六:类型、值和变量js数据类型分为两类:原始类型(primitive type)和对象类型(object type)。
确认(confirm 消息对话框)confirm 消息对话框通常用于允许用户做选择的动作,如:“你对吗?”等。
弹出对话框(包括一个确定按钮和一个取消按钮)。
语法:confirm(str);参数说明:str:在消息对话框中要显示的文本返回值: Boolean值返回值:当用户点击"确定"按钮时,返回true当用户点击"取消"按钮时,返回false注: 通过返回值可以判断用户点击了什么按钮看下面的代码:<script type="text/javascript">var mymessage=confirm("你喜欢JavaScript吗?");if(mymessage==true){ document.write("很好,加油!"); }else{ document.write("JS功能强大,要学习噢!"); }</script>提问(prompt 消息对话框)prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息。
弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。
语法:prompt(str1, str2);参数说明:str1: 要显示在消息对话框中的文本,不可修改str2:文本框中的内容,可以修改返回值:1. 点击确定按钮,文本框中的内容将作为函数返回值2. 点击取消按钮,将返回null看看下面代码:var myname=prompt("请输入你的姓名:");if(myname!=null){ alert("你好"+myname); }else{ alert("你好my friend."); }打开新窗口(window.open)open() 方法用于打开一个新的窗口。
语法:window.open(<URL>, <窗口名称>, <参数字符串>)参数说明:URL:打开窗口的网址或路径。
电子商务网页设计与制作
授课教案
学年第学期
课前:
【教师布置调研任务】
调研主题:《了解JavaScrip的语法规则》
要求:以小组为单位,通过网络查找的方式了解JaVaSeriP的语法规则。
制作汇报PPT,提交到“微信群”。
【学生调研,教师线上指导】
学生采用线上调研的方式,开展调研。
教师使用“微信群”对学生进行指导。
(教师对各组调研成果进行评价】
教师查阅学生调研结果PPT,对每个小组的PPT进行评价,记录评价成绩,并挑选出优秀作品。
课后:
【学生使用JaVaSCriP代码设计一个根据分数评价等级的程序】
小组成员团结协作,练习使用JaVaSCriP代码的相关内容;使学生掌握使用JaVaSCriP 代码编程的能力。
教师使用“微信群”对学生进行指导。
填表说明:1本页可续页;2.教学方法如:项目教学、案例分析、分组讨论、角色扮演、启发引导等;
3.教学手段如:课件演示、模型讲解、实物讲解、挂图讲解、视频讲解、网络课程等。
JavaScript最新教案一、课程简介1. 课程目标:通过本课程的学习,使学员掌握JavaScript的基本语法、流程控制、函数、事件处理、DOM操作等核心知识,能够独立编写简单的JavaScript 代码,为前端开发打下坚实基础。
2. 适用对象:本课程适用于前端开发初学者,以及对JavaScript有一定了解的开发者。
3. 课程内容:本课程共十个章节,涵盖JavaScript的基础知识、高级特性以及实际应用。
二、JavaScript基础1. JavaScript简介:介绍JavaScript的起源、特点和版本等信息。
2. 基本语法:讲解变量、数据类型、运算符、类型转换等基本语法规则。
3. 流程控制:介绍条件语句、循环语句、以及break和continue等控制语句的使用。
4. 函数:讲解函数的声明、调用、参数传递、返回值等概念。
三、JavaScript高级特性1. 对象:介绍对象的概念、创建方式、属性访问、方法定义等。
2. 数组:讲解数组的创建、访问、遍历、排序等操作。
3. 原型链:解释原型链的概念、作用以及如何利用原型链实现继承。
4. 闭包:讲解闭包的定义、作用以及如何利用闭包实现模块化。
四、DOM操作1. DOM简介:介绍DOM的概念、结构以及DOM树。
2. 节点操作:讲解如何获取和修改DOM节点的内容、属性、样式等。
3. 事件处理:介绍事件的概念、事件流、事件处理程序以及事件对象等。
4. 动画效果:讲解如何使用JavaScript实现简单的动画效果。
五、实际应用1. 表单验证:结合实际案例,讲解如何使用JavaScript进行表单验证。
2. 网页特效:介绍如何使用JavaScript实现网页特效,如弹窗、轮播图等。
3. 前后端交互:讲解如何使用JavaScript与后端进行数据交互,如使用AJAX 技术。
4. 完整项目实战:提供一个完整的JavaScript项目案例,让学员学会将所学知识应用于实际项目中。
《JavaScript 程序设计基础教程(第2版)》习题答案第一章Web 技术概述一、单选题1)D2)D3)D4)A5)C6)D7)C8)C9)D10)D11)A12)D13)D14)D15)A二、综合题(略)第二章HTML/XHTML 制作一、判断题1)对2)错3)对4)错5)对6)错7)错8)错9)错10)对11)对12)对13)错14)错15)对16)错17)对18)错19)错20)对21)错22)错二、单选题1)D2)C3)C4)B5)A6)B7)B8)B9)C10)C11)B12)C13)C14)C15)C16)C17)A三、综合题1)ex020301.htm2)ex020302.htm3)ex020303.htm4)ex020304.htm5)ex020305.htm6)ex020306.htm7)ex020307.htm8)ex020308.htm9)ex020309.htm10)ex020310.htm11)略第三章CSS 技术一、判断题1)错2)对3)错4)对5)错6)错7)对8)错9)对10)错11)对12)错13)错14)错15)错16)错17)错18)对19)对20)错21)错二、单选题1)B2)B3)A4)C5)B6)C7)A8)B9)D10)B11)D12)B13)A14)B15)D16)A17)B18)C19)B20)D21)B22)A23)D24)A三、综合题1)ex030301.htm2)ex030302.htm3)ex030303.htm4)ex030304.htm5)ex030305.htm6)ex030306.htm7)ex030307.htm8)ex030308.htm9)ex030309.htm10)ex030310.htm11)ex030311.htm12)ex030312.htm13)ex030313.htm14)ex030314.htm15)ex030315.htm16)略第四章JavaScript 编程基础一、判断题1)错JavaScript 是Microsoft公司设计的脚本语言。
Javascript教程--从入门到精通【完整版】(作者:未知,来源:互联网整理:Alone)JavaScript教程语言概况Internet时代,造就了我们新的工作和生活方式,其互联性、开放性和共享信息的模式,打破了传统信息传播方式的重重壁垒,为我们带来了新的机遇。
随着计算机和信息时代的到来,人类社会前进的脚步在逐渐加快,每一天都有新的事情发生,每一天都在创造着奇迹。
随着Internet技术的突飞猛进,各行各业都在加入Internet的行业中来。
无论从管理方面,还是从商业角度来看,Internet都可以带来无限生机。
通过Internet,可以实现地区、集体乃至个人的连接,从而达到一种“统一的和谐”。
那么怎样把自己的或公司的信息资源加入到WWW 服务器,是广大用户日益关心的问题。
采用超链技术(超文本和超媒体技术)是实现这个目标最简单的、最快速的手段和途径。
具体实现这种手段的支持环境,那就是HTML超文本标识语言。
通过它们可制作所需的Web网页。
通过超文本(Hyper Text)和超媒体(Hyper Media)技术结合超链接(Hyper link)的链接功能将各种信息组织成网络结构(web),构成网络文档(Document),实现Internet上的“漫游”。
通过HTML符号的描述就可以实现文字、表格、声音、图像、动画等多媒体信息的检索。
然而采用这种超链技术存在有一定的缺陷,那就是它只能提供一种静态的信息资源,缺少动态的客户端与服务器端的交互。
虽然可通过CGI(Common Gateway Interface)通用网关接口实现一定的交互,但由于该方法编程较为复杂,因而在一段时间防碍了Internet技术的发展。
而JavaScript的出现,无凝为Internet网上用户带来了一线生机。
可以这样说,JavaScript的出现是时代的需求,是当今的信息时代造就了JavaScript。
JavaScript的出现,它可以使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交式的表达能力。
JavaScript 简介之阳早格格创做JavaScript 有什么特性JavaScript 使网页减少互动性.JavaScript 使有程序天沉复的HTML文段简化,缩小下载时间.JavaScript 能坐即赞同用户的支配,对付提接表单搞坐即的查看,无需浪费时间接由CGI 考证.JavaScript 的特性是无贫无尽的,只消您有创意. Java 与 JavaScript 有什么分歧很多人瞅到 Java 战 JavaScript 皆有“Java”四个字,便以为它们是共一般物品,连我自己当初也是那样.本去它们是完真足齐分歧的二种物品.Java,齐称该当是 Java Applet,是嵌正在网页中,而又有自己独力的运止窗心的小步调.Java Applet 是预先编译佳的,一个Applet 文献(.class)用Notepad 挨开阅读,基础不克不迭明黑.Java Applet 的功能很强盛,不妨考察http、ftp等协议,以至不妨正在电脑上种病毒(已有先例了).相比之下,JavaScript 的本收便比较小了.JavaScript 是一种“足本”(“Script”),它间接把代码写到HTML 文档中,欣赏器读与它们的时间才举止编译、真止,所以能查看HTML 源文献便能查看JavaScript 源代码.JavaScript 不独力的运止窗心,欣赏器目前窗心便是它的运止窗心.它们的相共面,我念惟有共是以Java 做编程道话一面了.开垦 JavaScript 该用什么硬件一个JavaScript 步调本去是一个文档,一个文本文献.它是嵌进到HTML 文档中的.所以,所有不妨编写HTML 文档的硬件皆不妨用去开垦JavaScript.正在此我推荐大家用FrontPage 2000 附戴的 Microsoft 足本编写器(正在FrontPage 菜单| 工具| 宏| Microsoft 足本编写器).它是个像Visual Basic / C++ 一般的步调开垦器,能对付正正在输进的语句做出简要提示.协共FrontPage 2000,使处事量大大缩小.JavaScript 道话的前提正在什么场合拔出 JavaScriptJavaScript 不妨出目前HTML 的任性场合.使用标记表记标帜<script>…</script>,您不妨正在HTML 文档的任性场合拔出JavaScript,以至正在<HTML>之前拔出也不可问题.不过如果要正在声明框架的网页(框架网页)中拔出,便一定要正在<frameset>之前拔出,可则不会运止.基础要收<script><!--...(JavaScript代码)...//--></script>第二止战第四止的效率,是让陌死<script>标记表记标帜的欣赏器忽略JavaScript 代码.普遍不妨简略,果为目前念找陌死Script 的欣赏器,恐怕便连博物馆里也不了.第四止前边的单反斜杠“//”是JavaScript 里的注释标号,以去将教到.其余一种拔出JavaScript 的要收,是把JavaScript 代码写到另一个文献核心(此文献常常该当用“.js”做扩展名),而后用要收为“<script src="javascript.js"></script>”的标记表记标帜把它嵌进到文档中.注意,一定要用“</script>”标记表记标帜.参照<script>标记表记标帜另有一个属性:language(缩写lang),证明足本使用的道话.对付于JavaScript,请用“language="JavaScript"”.参照相对付于<script>标记表记标帜,另有一个<server>标记表记标帜.<server>标记表记标帜所包罗的,是服务器端(Server Side)的足本.本教程只计划客户器端(Client Side)的JavaScript,也便是用<script>标记表记标帜包罗的足本.如果念正在欣赏器的“天面”栏中真止JavaScript 语句,用那样的要收:javascript:<JavaScript语句>那样的要收也不妨用正在对接中:<a href="javascript:<JavaScript语句>">...</a>JavaScript 基础语法每一句JavaScript 皆有类似于以下的要收:<语句>;其中分号“;”是JavaScript 道话动做一个语句中断的标记符.虽然目前很多欣赏器皆允许用回车充核心断标记,培植用分号做中断的习惯仍旧是很佳的.语句块语句块是用大括号“{ }”括起去的一个大概 n 个语句.正在大括号里边是几个语句,然而是正在大括号中边,语句块是被当做一个语句的.语句块是不妨嵌套的,也便是道,一个语句块里边不妨再包罗一个大概多个语句块.JavaScript 中的变量什么是变量从字里上瞅,变量是可变的量;从编程角度道,变量是用于死存某种/某些数值的死存器.所储躲的值,不妨是数字、字符大概其余的一些物品.变量的命名变量的命名有以下央供:只包罗字母、数字战/大概下划线;要以字母开头;不克不迭太少(本去有什么人喜欢使用又少又臭的名字呢?);不克不迭与JavaScript 死存字(Key Words,Reserved Words,数量繁琐,不克不迭一一列出;通常是不妨用去搞JavaScript 下令的字皆是死存字)沉复.而且,变量是区别大小写的,比圆,variable 战 Variable 是二个分歧的变量.不然而如许,大部分下令战“对付象”(请参阅“对付象化编程”章)皆是区别大小写的.提示给变量命名,最佳预防用单个字母“a”“b”“c”等,而改用能收会表黑该变量正在步调中的效率的词汇语.那样,不然而他人能更简单的相识您的步调,而且您正在以去要建改步调的时间,也很快会记得该变量的效率.变量名普遍用小写,如果是由多个单词汇组成的,那么第一个单词汇用小写,其余单词汇的第一个字母用大写.比圆:myVariable 战myAnotherVariable.那样搞只是是为了好瞅战易读,果为JavaScript 一些下令(以去将用更简曲的要收叙述“下令”一词汇)皆是用那种要收命名的:indexOf;charAt 等等.变量需要声明不声明的变量不克不迭使用,可则会堕落:“已定义”.声明变量不妨用:var <变量> [= <值>];var咱们交战的第一个关键字(即死存字).那个关键字用做声明变量.最简朴的声明要收便是“var <变量>;”,那将为<变量>准备内存,给它赋初初值“null”.如果加上“= <值>”,则给<变量>给予自定的初初值<值>.数据典型变量不妨用的数据典型有:整型只可储躲整数.不妨是正整数、0、背整数,不妨是十进制、八进制、十六进制.八进制数的表示要收是正在数字前加“0”,如“0123”表示八进制数“123”.十六进制则是加“0x”:“0xEF”表示十六进制数“EF”.浮面型即“真型”,能储躲小数.有资料隐现,某些仄台对付浮面型变量的支援不宁静.不需要便不要用浮面型.字符串型是用引号“" "”、“' '”包起去的整个至多个字符.用单引号仍旧单引号由您决断.跟语文一般,用哪个引号开初便用哪个中断,而且单单引号可嵌套使用:'那里是"JavaScript 教程".' 不过跟语文分歧的是,JavaScript 中引号的嵌套只可有一层.如果念再多嵌一些,您需要转义字符:转义字符由于一些字符正在屏幕上不克不迭隐现,大概者JavaScript语法上已经有了特殊用途,正在要用那些字符时,便要使用“转义字符”.转义字符用斜杠“\”开头:\' 单引号、\" 单引号、\n 换止符、\r 回车(以上只列出时常使用的转义字符).于是,使用转义字符,便不妨搞到引号多沉嵌套:'Micro 道:"那里是\"JavaScript 教程\"." '布我型时常使用于推断,惟有二个值可选:true(表“真”)战false(表“假”).true 战false 是JavaScript 的死存字.它们属于“常数”.对付象关于对付象,正在“对付象化编程”一章将仔细道到.由于JavaScript 对付数据典型的央供不庄重,普遍去道,声明变量的时间不需要声明典型.而且便算声明黑典型,正在历程中还不妨给变量给予其余典型的值.声明典型不妨用给予初初值的要收搞到:var aString = '';那将把aString 定义为具备空值的字符串型变量.var anInteger = 0;那将把 anInteger 定义为值为 0 的整型.变量的赋值一个变量声明后,不妨正在所有时间对付其赋值.赋值的语法是:<变量> = <表黑式>;其中“=”喊“赋值符”,它的效率是把左边的值赋给左边的变量.下一节将计划到表黑式.JavaScript常数有下列几个:null一个特殊的空值.当变量已定义,大概者定义之后不对付其举止所有赋值支配,它的值便是“null”.企图返回一个不存留的对付象时也会出现null 值.NaN“Not a Number”.出现那个数值比较少睹,以至于咱们不妨不睬它.当运算无法返回透彻的数值时,便会返回“NaN”值.NaN 值非常特殊,果为它“不是数字”,所以所罕见跟它皆不相等,以至NaN 自己也不等于NaN .true布我值“真”.用通雅的道法,“对付”.false布我值“的道法,“错”.正在Math常数.那将正在计划“道到.表黑式与运算符表黑式常数战变量对接起去的代数式.一个表黑式不妨只包罗一个常数大概一个变量.运算符不妨是四则运算符、关系运算符、位运算符、逻辑运算符、复合运算符.下表将那些运算符从下劣先级到矮劣先级排列:注意所有与四则运算有关的运算符皆不克不迭效率正在字符串型变量上.字符串不妨使用+、+= 动做对接二个字符串之用.提示请稀切注意运算的劣先级.编程时如果不记得运算符的劣先级,不妨使比圆:(a == 0)||(b == 0)..比圆,用以下语= c = 10,不妨一次对付三.底下将开初计划JavaScript 基础编程下令,大概者喊“语句”.注释像其余所有道话一般,JavaScript 的注释正在运止时也是被忽略的.注释只给步调员提供消息.JavaScript 注释有二种:单止注释战多止注释.单止注释用单反斜杠“//”表示.当一止代码有“//”,那么,“//”后里的部分将被忽略.而多止注释是用“/*”战“*/”括起去的一止到多止笔墨.步调真止到“/*”处,将忽略以去的所有笔墨,曲到出现“*/”为止.提示如果您的步调需要草稿,大概者需要让他人阅读,注释能助上大闲.养成写注释的习惯,能节省您战其余步调员的贵沉时间,使他们不必耗费多余的时间琢磨您的步调.正在步调调试的时间,偶我需要把一段代码换成另一段,大概者姑且不要一段代码.那时最忌用 Delete 键,如果念要回那段代码怎么办?最佳仍旧用注释,把姑且不要的代码“隐”去,到决定要收以去再简略也不早.if 语句if ( <条件> ) <语句1> [ else <语句2> ];本语句有面象条件表黑式“?:”:当<条件>为真时真止<语句1>,可则,如果else 部分存留的话,便真止<语句2>.与“?:”分歧的是,if 不过一条语句,不会返回数值.<条件>是布我值,必须用小括号括起去;<语句1>战<语句2>皆只可是一个语句,欲使用多条语句,请用语句块.注意请瞅下例:if (a == 1) if (b == 0) alert(a+b);else alert(a-b);本代码企图用缩进的要收证明else 是对付应if (a == 1) 的,然而是本量上,由于 else 与if (b == 0) 最相近,本代码不克不迭按做家的设念运止.透彻的代码是if (a == 1) { if (b == 0) alert(a+b);} else { alert(a-b);}提示一止代码太少,大概者波及到比较搀纯的嵌套,不妨思量用多止文本,如上例,if (a == 1) 后里不坐时写上语句,而是换一止再继启写.欣赏器不会殽杂的,当它们读完一止,创制是一句已完成语句,它们会继启往下读.使用缩进也是很佳的习惯,当一些语句与上头的一二句语句有从属关系时,使用缩进能使步调更易读,便当步调员举止编写大概建改处事.循环体for (<变量>=<初初值>; <循环条件>; <变量乏加要收>) <语句>;本语句的效率是沉复真止<语句>,曲到<循环条件>为false 为止.它是那样运做的:最先给<变量>赋<初初值>,而后*推断<循环条件>(该当是一个关于<变量>的条件表黑式)是可创制,如果创制便真止<语句>,而后按<变量乏加要收>对付<变量>做乏加,回到“*”处沉复,如果不可坐便退出循环.那喊搞“for循环”.底下瞅瞅例子.for (i = 1; i < 10; i++) document.write(i);本语句先给i 赋初初值1,而后真止document.write(i)语句(效率是正在文档中写i 的值,请参越“对付象化编程”一章);沉复时i++,也便是把i 加1;循环曲到i<10 不谦足,也便是i>=10 时中断.截止是正在文档中输出了“123456789”.战if 语句一般,<语句>只可是一止语句,如果念用多条语句,您需要用语句块.与其余道话分歧,JavaScript 的for 循环不确定循环变量屡屡循环一定要加一大概减一,<变量乏加要收>不妨是任性的赋值表黑式,如i+=3、i*=2、i-=j 等皆创制.提示切合的使用for 循环,能使HTML 文档中洪量的有程序沉复的部分简化,也便是用for 循环沉复写一些HTML 代码,达到普及网页下载速度的脚段.不过请正在Netscape 中沉复举止庄重尝试,包管通过了才佳把网页传上去.做家曾试过多次果为用for 循环背文档沉复写HTML 代码而引导Netscape“猝死”.IE 中千万于不那种事务爆收,如果您的网也是只给 IE 瞅的,用多多的 for 也出问题.除了for 循环,JavaScript 还提供while 循环.while (<循环条件>) <语句>;比 for 循环简朴,while 循环的效率是当谦足<循环条件>时真止<语句>.while 循环的乏加本量不 for 循环强.<语句>也只可是一条语句,然而是普遍情况下皆使用语句块,果为除了要沉复真止某些语句除中,还需要一些能变动<循环条件>所波及的变量的值的语句,可则一然而踩进此循环,便会果为条件经常谦足而背去困正在循环内里,不克不迭出去.那种情况,咱们习惯称之为“死循环”.死循环会弄停当时正正在运止的代码、正正在下载的文档,战占用很大的内存,很大概制成死机,该当尽最大的齐力预防.break战 continue偶我间正在循环体内,需要坐时跳出循环大概跳过循环体内其余代码而举止下一次循环.break 战continue 助了咱们大闲.break;本语句搁正在循环体内,效率是坐时跳出循环.continue;本语句搁正在循环体内,效率是中止本次循环,并真止下一次循环.如果循环的条件已经不切合,便跳出循环.例for (i = 1; i < 10; i++) { if (i == 3 || i == 5 || i == 8) continue; document.write(i);}输出:124679.switch 语句如果要把某些数据分类,比圆,要把教死的结果按劣、良、中、好分类,咱们大概会用 if 语句:if (score >= 0 && score < 60) { result = 'fail';} else if (score < 80) { result = 'pass';} else if (score < 90) { result = 'good';} else if (score <= 100) { result = 'excellent';} else { result = 'error';}瞅起去不问题,然而使用太多的 if 语句的话,步调瞅起去有面治.switch 语句便是办理那种问题的最佳要收. switch (e) { case r1: (注意:冒号) ... [break;] case r2: ... [break;] ... [default: ...]}那一大段的效率是:估计e 的值(e 为表黑式),而后跟下边“case”后的r1、r2……比较,当找到一个相等于e 的值时,便真止该“case”后的语句,曲到逢到break 语句大概switch 段降中断(“}”).如果不一个值与e 匹配,那么便真止“default:”后边的语句,如果不default 块,switch 语句中断.上边的 if 段用 switch 改写便是:switch (parseInt(score / 10)) { case 0: case 1: case 2: case 3: case 4: case 5: result = 'fail'; break; case 6: case 7: result = 'pass'; break; case 8: result ='good'; break; case 9: result ='excellent'; break; default: if (score== 100) result = 'excellent'; else result = 'error';}其中parseInt()要收是以去会介绍的,效率是与整.末尾default 段用的if 语句,是为了不把100 分当过得论(parseInt(100 / 10) == 10).. 对付象化编程JavaScript 是使用“对付象化编程”的,大概者喊“里背对付象编程”的.所谓“对付象化编程”,意义是把JavaScript 能波及的范畴区别成大大小小的对付象,对付象底下还继启区别对付象曲至非常仔细为止,所有的编程皆以对付象为出收面,基于对付象.小到一个变量,大到网页文档、窗心以至屏幕,皆是对付象.那一章将“里背对付象”道述 JavaScript 的运止情况.对付象的基础知识对付象是不妨从JavaScript“势力范畴”中区别出去的一小块,不妨是一段笔墨、一幅图片、一个表单(Form)等等.每个对付象有它自己的属性、要收战事变.对付象的属性是反映该对付象某些特定的本量的,比圆:字符串的少度、图像的少宽、笔墨框(Textbox)里的笔墨等等;对付象的要收能对付该对付象搞一些事务,比圆,表单的“提接”(Submit),窗心的“滑动”(Scrolling)等等;而对付象的事变便能赞同爆收正在对付象上的事务,比圆提接表单爆收表单的“提接事变”,面打对接爆收的“面打事变”.不是所有的对付象皆有以上三个本量,有些不事变,有些惟有属性.引用对付象的任一“本量”用“<对付象名>.<本量名>”那种要收.基础对付象目前咱们要复习以上教过的真量了——把一些数据典型用对付象的角度沉新教习一下.Number“数字”对付象.那个对付象用得很少,做家便一次也不睹过.不过属于“Number”的对付象,也便是“变量”便多了.属性MAX_VALUE用法:Number.MAX_VALUE;返回“最大值”.MIN_VALUE用法:Number.MIN_VALUE;返回“最小值”.NaN用法:Number.NaN 大概NaN;返回“NaN”.“NaN”(不是数值)正在很早便介绍过了.NEGATIVE_INFINITY用法:Number.NEGATIVE_INFINITY;返回:背无贫大,比“最小值”还小的值.POSITIVE_INFINITY用法:Number.POSITIVE_INFINITY;返回:正无贫大,比“最大值”还大的值.要收toString()用法:<数值变量>.toString();返回:字符串形式的数值.如:若 a == 123;则 a.toString() == '123'.String字符串对付象.声明一个字符串对付象最简朴、快速、灵验、时常使用的要收便是间接赋值.属性length用法:<字符串对付象>.length;返回该字符串的少度.要收charAt()用法:<字符串对付象>.charAt(<位子>);返回该字符串位于第<位子>位的单个字符.注意:字符串中的一个字符是第0 位的,第二个才是第1 位的,末尾一个字符是第length - 1 位的.charCodeAt()用法:<字符串对付象>.charCodeAt(<位子>);返回该字符串位于第<位子>位的单个字符的ASCII 码.fromCharCode()用法:String.fromCharCode(a, b, c...);返回一个字符串,该字符串每个字符的ASCII 码由 a, b, c... 等去决定.indexOf()用法:<字符串对付象>.indexOf(<另一个字符串对付象>[, <起初位子>]);该要收从<字符串对付象>中查找<另一个字符串对付象>(如果给出<起初位子>便忽略之前的位子),如果找到了,便返回它的位子,不找到便返回“-1”.所有的“位子”皆是从整开初的.lastIndexOf()用法:<字符串对付象>.lastIndexOf(<另一个字符串对付象>[, <起初位子>]);跟indexOf() 相似,不过是从后边开初找.split()用法:<字符串对付象>.split(<合并符字符>);返回一个数组,该数组是从<字符串对付象>中分散开去的,<合并符字符>决断了分散的场合,它自己不会包罗正在所返回的数组中.比圆:'1&2&345&678'.split('&')返回数组:1,2,345,678.关于数组,咱们等一下便计划.substring()用法:<字符串对付象>.substring(<初>[, <末>]);返回本字符串的子字符串,该字符串是本字符串从<初>位子到<末>位子的前一位子的一段.<末> - <初> = 返回字符串的少度(length).如果不指定<末>大概指定得超出字符串少度,则子字符串从<初>位子背去与到本字符串尾.如果所指定的位子不克不迭返回字符串,则返回空字符串.substr()用法:<字符串对付象>.substr(<初>[, <少>]);返回本字符串的子字符串,该字符串是本字符串从<初>位子开初,少度为<少>的一段.如果不指定<少>大概指定得超出字符串少度,则子字符串从<初>位子背去与到本字符串尾.如果所指定的位子不克不迭返回字符串,则返回空字符串.toLowerCase()用法:<字符串对付象>.toLowerCase();返回把本字符串所有大写字母皆形成小写的字符串.toUpperCase()用法:<字符串对付象>.toUpperCase();返回把本字符串所有小写字母皆形成大写的字符串. Array数组对付象.数组对付象是一个对付象的集中,里边的对付象不妨是分歧典型的.数组的每一个成员对付象皆有一个“下标”,用去表示它正在数组中的位子(既然是“位子”,便也是从整开初的啦).数组的定义要收:var <数组名> = new Array();那样便定义了一个空数组.以去要增加数组元素,便用:<数组名>[<下标>] = ...;注意那里的圆括号不是“不妨简略”的意义,数组的下标表示要收便是用圆括号括起去.如果念正在定义数组的时间间接初初化数据,请用:var <数组名> = new Array(<元素1>, <元素2>, <元素3>...);比圆,var myArray = new Array(1, 4.5, 'Hi'); 定义了一个数组 myArray,里边的元素是:myArray[0] == 1; myArray[1] == 4.5; myArray[2] == 'Hi'.然而是,如果元素列表中惟有一个元素,而那个元素又是一个正整数的话,那将定义一个包罗<正整数>个空元素的数组.注意:JavaScript惟有一维数组!千万不要用“Array(3,4)”那种笨笨的要收去定义4 x 5 的二维数组,大概者用“myArray[2,3]”那种要收去返回“二维数组”中的元素.任性“myArray[...,3]”那种形式的调用本去只返回了“myArray[3]”.要使用多维数组,请用那种假制法:var myArray = new Array(new Array(), new Array(), new Array(), ...);本去那是一个一维数组,里边的每一个元素又是一个数组.调用那个“二维数组”的元素时:myArray[2][3] = ...;属性length用法:<数组对付象>.length;返回:数组的少度,即数组里有几个元素.它等于数组里末尾一个元素的下标加一.所以,念增加一个元素,只需要:myArray[myArray.length] = ....要收join()用法:<数组对付象>.join(<合并符>);返回一个字符串,该字符串把数组中的各个元素串起去,用<合并符>置于元素与元素之间.那个要收不效率数组本本的真量.reverse()用法:<数组对付象>.reverse();使数组中的元素程序反过去.如果对付数组[1, 2, 3]使用那个要收,它将使数组形成:[3, 2, 1].slice()用法:<数组对付象>.slice(<初>[, <末>]);返回一个数组,该数组是本数组的子集,初于<初>,毕竟<末>.如果不给出<末>,则子集背去与到本数组的末端.sort()用法:<数组对付象>.sort([<要收函数>]);使数组中的元素依照一定的程序排列.如果不指定<要收函数>,则按字母程序排列.正在那种情况下,80 是比9 排得前的.如果指定<要收函数>,则按<要收函数>所指定的排序要收排序.<要收函数>比较易道述,那里只将一些有用的<要收函数>介绍给大家.按降序排列数字:function sortMethod(a, b) { return a - b;}myArray.sort(sortMethod);按降序排列数字:把上头的“a - b”该成“b - a”.有关函数,请瞅底下.Math“数教”对付象,提供对付数据的数教估计.底下所提到的属性战要收,不再仔细证明“用法”,大家正在使用的时间记着用“Math.<名>”那种要收.属性E返回常数e (2.718281828...).LN2返回 2 的自然对付数 (ln 2).LN10返回 10 的自然对付数 (ln 10).LOG2E返回以 2 为矮的 e 的对付数 (log2e).LOG10E返回以 10 为矮的 e 的对付数 (log10e).PI 返回π(3.1415926535...).SQRT1_2返回 1/2 的仄圆根.SQRT2返回 2 的仄圆根.要收abs(x)返回x 的千万于值.acos(x)返回x 的反余弦值(余弦值等于x 的角度),用弧度表示.asin(x)返回x 的反正弦值.atan(x)返回x 的反正切值.atan2(x, y)返恢复仄里内面(x, y)对付应的复数的幅角,用弧度表示,其值正在 -π 到π 之间.ceil(x)返回大于等于x 的最小整数.cos(x)返回x 的余弦.exp(x)返回 e 的 x 次幂 (e x).floor(x)返回小于等于x 的最大整数.log(x)返回 x 的自然对付数 (ln x).max(a, b)返回 a, b 中较大的数.min(a, b)返回 a, b 中较小的数.pow(n, m)返回 n 的 m 次幂 (n m).random()返回大于 0 小于 1 的一个随机数.round(x)返回 x 四舍五进后的值.sin(x)返回x 的正弦.sqrt(x)返回 x 的仄圆根.tan(x)返回 x 的正切. Date日期对付象.那个对付象不妨储躲任性一个日期,从0001 年到9999 年,而且不妨透彻到毫秒数(1/1000 秒).正在内里,日期对付象是一个整数,它是从1970 年1 月1 日整时正开初估计到日期对付象所指的日期的毫秒数.如果所指日期比1970 年早,则它是一个背数.所有日期时间,如果不指定时区,皆采与“UTC”(天下时)时区,它与“GMT”(格林威治时间)正在数值上是一般的.定义一个日期对付象:var d = new Date;那个要收使d 成为日期对付象,而且已有初初值:目前时间.如果要自定初初值,不妨用:var d = new Date(99, 10, 1); //99 年10 月 1 日var d = new Date('Oct 1, 1999'); //99 年 10 月 1 日等等要收.最佳的要收便是用底下介绍的“要收”去庄重的定义时间.要收以下有很多“g/set[UTC]XXX”那样的要收,它表示既有“getXXX”要收,又有“setXXX”要收.“get”是赢得某个数值,而“set”是设定某个数值.如果戴有“UTC”字母,则表示赢得/设定的数值是基于 UTC 时间的,不则表示基于当天时间大概欣赏期默认时间的.如无证明,要收的使用要收为:“<对付象>.<要收>”,下共.g/set[UTC]FullYear()返回/树坐年份,用四位数表示.如果使用“x.set[UTC]FullYear(99)”,则年份被设定为 0099 年.g/set[UTC]Year()返回。