WEB编程计算机科学与技术系张永定ydzhang@chzu.edu.cn第六讲JavaScript脚本语言(二)内容回顾JavaScript简介使用SCRIPT标记使用外部JS文件write、alert、confirm和prompt方法变量和数据类型运算符和表达式数组事件条件语句循环语句本讲内容JavaScript内置函数定义函数调用函数JavaScript对象(String对象、Math对象、Date对象)Window对象(Document对象、Event对象、Frame对象、History对象、Location对象、Navigator对象、Screen对象)小结作业布置HTMLSCRIPTLANGUAGE=JavaScriptvarx=5;varz=10;document.write(eval(x+z+5));/SCRIPT/HTMLJavaScript内置函数eval内置函数isNaN内置函数HTMLHEADSCRIPTLANGUAGE=JavaScriptvarx=prompt(请输入一个值);if(isNaN(x)){alert(x+不是数字);}elsealert(x+是数字);/SCRIPT/HEAD/HTML自定义函数function函数名([参数1,参数2,…]){语句;}函数具有下列组成部分:function关键字函数名圆括号内用逗号分隔开的函数参数列表括在大括号内的函数语句定义函数HTMLHEADSCRIPTlanguage=JavaScript!--functionsum_up(one,two){varresult=one+two;returnresult;}//--/SCRIPT/HEAD/HTML调用函数HTMLHEADSCRIPTLANGUAGE=JavaScript!--functionhello(){document.write(喂!);document.write(欢迎使用hello()函数。BR);return;}functionsum_up(one,two){document.write(这是sum_up函数BR)varresult=one+two;returnresult;}hello();vartotal=sum_up(7,9);document.write(total++sum_up(8,15));//--/SCRIPT/HEAD/HTMLreturn语句HTMLHEADSCRIPTLANGUAGE=JavaScriptfunctiontestreturn(x){vari=0;while(i6){if(i==3)break;i++;}return(i*x);}/SCRIPT/HEADBODYSCRIPTdocument.write(testreturn(4));/SCRIPT/BODY/HTML法拉利JavaScript对象简介2-1对象就是状态和(或)行为的集合体。状态包含对象的特性。行为包含对象能够执行的功能。例如汽车对象:汽车状态:法拉利、绿色行为:前进、制动、倒车JavaScript对象简介2-2对象层次结构浏览器对象脚本对象HTML对象varnewstr=String(“这是我写的脚本”)varnewstr=“这是我写的脚本”使用var语句String对象5-1创建字符串newstr=“这是我写的脚本”使用具有变量名称的赋值运算符(=)创建String对象String对象5-2名称说明属性length返回字符串的长度。方法big()增加字符串文本的大小。bold()将字符串文本设为粗体。fontcolor()确定字体的颜色。italics()以斜体显示字符串。small()减小文本的大小。strike()显示加了删除线的文本。sub()将文本显示为下标。sup()将文本显示为上标。String对象5-3名称说明方法toLowerCase()将字符串转换为小写。toUpperCase()将字符串转换为大写。charAt(index)返回位于指定索引位置的字符indexOf(searchtext[,startindex])该方法用来确定一个字符串是否包含在另一个中。它返回一个数值,表示searchtext在主字符串中起始位置的索引值substr(index1,index2)返回位于指定索引index1和index2之间的字符串。substr(start[,length])从主字符串的start位置开始提取字符,length为提取的字符长度,若不设置第二个参数,则提取到字符串的末尾。String对象5-4HTMLHEADTITLE使用字符串/TITLESCRIPTLANGUAGE=JavaScriptvarlenstr=该字符串中的字符数是varbstr=字号较大的;varsstr=字号较小的;varblstr=加粗;varucase=Uppercase;varlcase=LOWERCASE;document.write(lenstr+lenstr.length);document.write(BR这是+bstr.big()+文本);document.write(BR这是+sstr.small()+文本);document.write(BR这是+blstr.bold()+文本);document.write(BR这是+ucase.toUpperCase()+文本);document.write(BR这是+lcase.toLowerCase()+文本);/SCRIPT/HEAD/HTMLString对象5-5HTMLHEADTITLE使用indexOf、charAt和substr方法/TITLESCRIPTLANGUAGE=JAVASCRIPTfunctiontest(f){varindex=f.indexOf('@',0);varj=0;for(i=0;if.length;i++){if(f.charAt(i)=='@')j++;}if(index0&&j!=1)document.write(电子邮件地址无效);else{varuname=f.substr(0,index);alert(欢迎+uname.toUpperCase());}}/SCRIPT/HEADBODYH1演示String对象的方法/H1FORMNAME='METHODS'电子邮件地址:inputtype=textname=emailBR密码:inputtype=passwordname=pwdinputtype=buttonname=“b1”value=提交onClick=test(this.form.email.value)/FORM/BODY/HTMLMath对象3-1名称说明属性PI值。该值约等于3.1415。LN1010的自然对数值。该值约等于2.302。EEuler的常数值。该值约等于2.718。Euler的常数用作自然对数的底数。方法abs(y)返回y的绝对值。sin(y)返回y的正弦值。该值的单位为弧度。cos(y)返回y的余弦值。该值的单位为弧度。tan(y)返回y的正切值。该值的单位为弧度。min(x,y)返回x和y两个数字中较小的一个。max(x,y)返回x和y两个数字中较大的一个。round(y)将参数四舍五入到最接近的整数。sqrt(y)返回y的平方根。ceil(y)返回大于或等于y的最小整数。floor(y)返回小于或等于y的最大整数。HTMLHEADTITLE使用Math对象/TITLESCRIPTLANGUAGE=JavaScriptfunctiondoCalc(x){vara;a=Math.PI*x*x;alert(半径为+x+的圆的面积是++a);}/SCRIPT/HEADFORM输入圆的半径:INPUTTYPE=TEXTsize=5name=radBRBRINPUTtype=buttonvalue=显示面积onclick=doCalc(rad.value)/FORM/HTMLMath对象3-2HTMLHEADTITLE使用Math对象/TITLESCRIPTLANGUAGE=JavaScriptfunctionshow(value){with(Math)alert(数字+value+的平方根是:+sqrt(eval(value)));}/SCRIPT/HEADFORMB输入一个值:/BINPUTTYPE=textNAME=text1SIZE=20PINPUTTYPE=buttonNAME=button1value=平方根onClick=show(this.form.text1.value)/FORM/HTMLMath对象3-3Date对象9-1Date对象将日期存储为自1970年1月1日00:00:00起经过的毫秒数。DateObject=newDate(parameters)用于存储新的Date对象的变量。无参数,即没有指定任何参数,此时将检索当前的日期和时间例如:today=newDate().String–按以下形式表示日期和时间:“MMDD,YYYY,hh:mm:ss”,或者是其他格式的字符串.例如:tdate=newDate(“July29,1998,10:30:00”)Date对象9-2方法组说明set这些方法用于设置时间和日期值。get这些方法用于获取时间和日期值。to这些方法用于从Date对象返回字符串值。parse&UTC这些方法用于解析字符串。Date方法所属的组:Date对象9-3值整数秒和分钟0至59小时0至23星期0至6(一星期中的第几天)日期1至31(一月中的第几天)月份0至11(1月至12月)用于表示Date对象中包含的值的整数:Date对象9-4方法说明setDate设置Date对象的日期(0–31)setHours设置Date对象的小时数(0-23)setMinutes设置Date对象的分钟数(0-59)setSeconds设置Date对象的秒数(0-59)setTime设置Date对象的时间值setMonth设置Date对象的月份(1-12)SetFullYear设置Date对象的年份。Set方法Date对象9-5方法说明getDate返回Date对象的日期(1-31)。getDay返回Date对象的星期(0-6)。getHours返回Date对象的小时数(0–23)。getMinutes返回Date对象的分钟数(0-59)。getSeconds返回Date对象的秒数(0-59)。getMonth返回Date对象的月份(0-11)。getFullYear返回Date对象的年份(四位数)。getTime返回自1970年1月1日00:00:00以来的毫秒数。Get方法Parse和UTC方法Date对象9-6方法说明toGMTString用GMT数据格式规范将Date对象转换为字符串表示形式。toLocaleString用本地时间规范将Date对象转换为字符串表示形式。to方法方法说明Date.parse(datestring)日期字符串中自1970年1月1日以来的毫秒数。Date.UTC(year,month,day,hours,min.,secs.)Date对象中自1970年1月1日以来的毫秒数。Date对象9-7HTMLHEADTITLE永不停息的时钟/TITLESCRIPTlanguage=JavaScriptfunctiondisptime(){vartime=newDate();varhour=time.