欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    JavaScript 解释型或即时编译型的编程语言.docx

    • 资源ID:1415015       资源大小:271.37KB        全文页数:200页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JavaScript 解释型或即时编译型的编程语言.docx

    ©1996byStefanKoch-AUrightsreserved.请勿把本文作商业性的引用,本文的转载已得到编译者段喜亭的同意原始作者VoodoogHome的StefanKoCh编译:段喜亭台湾改编补充:mybabW热能工程系1第一章:1 .什麽是JavaScript?2 .&fi_JaVaSCriDtSCriPtS3 .将SCriDtS语法嵌入HTM1.文件之中4 .5 .揄型元件6 .日期功能-最接修改期第二章:1 .½S,(StatUSbar)显功能2 .且期物j3 .随数的产生4 .汪启新窗口第四章:1 .状态栏(StatUSbar)2 .SetTimeOUt函数3 .设计一个跑马灯(SCrOIler)第五章:1 .数组(AITayS)的2 .如何清除视窗中的文件(document)3.“前进键”(Forward)11m倒退键"(Back)的设计第三章:1.框架(frames)缸运S第六章:1 .同时载入两个框架(frames)2 .利用链结开新视口3.运算符第七章:1.输入表格(forms)的确认动作2,送出表格(form)的内容3.如何设定”内定直一个用JavaScript编的游戏 JaVaSCriPt的演变 JaVa和JavaScriot是完全不同的JaVaSeriDt的对象JaVaSCriPt的对象属性 JaVaSCriOt的方法 JaVaSCriDt的事件 JaVaSCnat的语法JaVaSCrid的保留字°36EEUA÷E0¾oe¼Ta¼b×÷oaVoodoo'sHomeuaStefanKochZ±¾IAOeON&i×÷Hba£-WT2g。£Di£->QeidElol½l½'C'ae»d:OZEjEub»0IIbOAQeEd±卜及尼EuAOe×÷E½06Au½<<EO'°AOA×'6£SE,E2AAU»fiA×oAD§1uInordertoenjoythisdocument,pleaseenlargethiswindowtothelargestone!ThiSDaaeWIthtablesOaEQb»Y½eEuJavaScriptpA½iN§TaOAIJa任TaAu½<<CtOOQaEEN§To½E0T½<<JavaScriptA»u±¾OT-nEeHTM1.iA%DOODj£OU±¾IA¼dC)E)£TABAEO»D©T±EYO×Ai½aAAy×6E-T£jjAUE1AuNaEU½0EeJavaScriptAEA½qIO½<<2»IrE±zEIA%bOD¼6EeDAAp¥6a£-'E½"OeAu¾3£oYA±¾¾B-OO»hEj×TDA×ENHEj JaVaSeriPt%6½C-2U6»C)A(C®±bE«iEEue)o段÷icJavaScript?o0'E)E)JaVaSeriPtSCriPtSo½<<SCriPtS61GI隹HTM1.fA%bG®GDoU6»9。一国o用谑。Oa迎oEe)ZEU工Aij-Xf(>E)DJ©E(5/EU JaVaSCriPt%6½C-UUVbOA:(C®±bE«TeEude)o'JA<statusbar)i6£%JAUo-ZEU-%boA6笃UA20Edo/aE)A£6,。 JaVaSeriPt%6½C-UEVC)Ao¼u(frames)AOEOA JaVaSeriPt%6½C-aUEAG氏o'JA(Statusbar)oSetTimeout。一位o%ZE6»©AUNUZE(ScroIIer) JaVaSCriCt%6½6-aU恪DkoG6AE(ArraVS)UA£6%ZEoECOTC331t6PC)E)G®A%b(document)o“C。½0%i(Forward)°rw£%1.11Back)uA.%ZE JaVaSCriCt%6½6-aUAcIOA:oJt±。0至A½©於%U(frames)oAO64M½台1E)A2,。oOE白6 JaVaSCriPt%6½6-aUZEDko段边.(forms)UAEETIr÷o.3°±jMform)uAAU朗oECOT的1,AUIrGW iaeiseavaScrip&%ZEHA61i %。作JaVaSeriCtitil。AO(ChatRoom)GciA 喳AeiVA任IA%bA6?Ael正用HA任法%bHAZlPHlJ JaVaSCriPtUANY±台 JaVaJavaScript俗h<fJ!ZEaEu»nA6oae6CIAIA%bAO¾l,(Mirror-Sites): StefanKochiiVUAIUUA(g史 StefanKoChT»IVWebconnuA6%; oAOt,-VinceMankelow oAu0Au-FranzKnipp 61'6AQ 汾Ua-MikaelNicolaidis N1÷A%ZEaEu6NOoae±¾: GBTA-translatedbyShii-TyngDUannm'f2io(½>>,6) GE)TA-translatedbyBeen-ChianChienC®±卜E<<(Ala) ½Y止-translatedbyPaveUANIKml. UAIA-translatedbyVeikkoWuenscheZEaEuJavaScript×E6z: ManVIinkStoOtherJaVaSeriPtPageS ReadtheJaVaSCri。"FAQ(FreqUentIyASkedQUeStie)ns) NetSCaPe-Hc)me DoWnlc)adNetSCaPeNaVigator2.0JavaScriptDAEe½eEU: DannyGoOdmarYSJaVaSCriPtHandbook GordonMcComb'sTheJavaScriptSourcebookOriginaIE0StefanKochE-rca£°kochsurf.de±a%£。10卫叵£®llElgB÷.»E-mailE0duannatm.cm.nctu.edu.tw©1996byStefanKoch-AUrightsreserved.声明:请勿把本文作商业性的引用本文的转载已得到编译者段喜亭的同意原始作者:Voodoo'sHome¾StefanKoch编译段喜亭台湾改编补充:mvbabvF热能工程系1第一章:JaVaSCriDt?JaVaSCriDtSCriDtS 将SCriDtS语法嵌入HTM1.文件之中 第一个函数 输入型元件日期功能一最彼修改期第四章:状态栏(StatUSbar)setTimut函状态栏(StatUSbar)显功能日期物件随数的产生开启新窗口第五章:数组(A网阂的Sit如何清除视窗¢6应件.(document)胤进键:(FOrWard)和“倒退键lc垃第三章:-三Jfran三)第六章:同时载入两个框架(frames)利用链结开新运算符数1.设计一个跑马灯(SCrOIIer)的设计第七章:输入表格(forms)的确认媪送出表格3D)值“一个用JavaScript编的游戏 JaVaSCriPt的演变 JaVa和JaVaSCriPC是完全不同的 JaVaSCrim的对象 JaVaSCriPt的对象属性 JaVaSCriDt的方法 JavaScript:的事件 JaVaSCriDt的语法 JaVaSCriPt的保留字1.1 JavaScript是什麽?JavaScript是一种新的描述语言,此一语言可以被箝入HTM1.的文件之中。透过JavaScript可以做到回应使用者的需求事件(如:form的输入)而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端(server)处理,再传回来的过程,而直接可以被客户端(client)的应用程式所处理。你也可以想像成有一个可执行程式在你的客端上执行一样!目前已有一些写好的程式在Internet上你可以连过去看看,以下有一些计算器的例子,在Nescape上。JavaScript和Java很类似,但到底并不一样!Java是一种比JavaScript更复杂许多的程式语言,而JaVaSCriPt则是相当容易了解的语言。JaVaSCriPt创作者可以不那麽注重程式技巧,所以许多Java的特性在JavaScript中并不支援。如需相关的更多资讯,可以去读读NetSCaPe的有关NetSCaDeJaVaSCrilJt之介绍。1.2 如何执行JaveScript?JavaScript如何执行呢?Netscape2.0beta3版以上,就可以执行JavaScript的功能了,我们测试过至少beta3版以上可以,其他种类的WWW浏览器如:InternetEXPe)re3.0也有此一功能。范例1:以下我们就以一些例子来告诉你如何将JavaScript写在HTM1.文件中,并且体会一下新语言的特性,我们从第一个例子开始:如何用JaVaSUiPt印出一串文字至HTM1.文件中:<html><head>MyfirstJavaScript!<head><body><br>ThisisanormalHTM1.document.<br><scriptIangUage二1.iVeSCript”>document,write(这是以JavaScript印出的!)<script><br>BackinHTM1.again.<body><html>如果你使用的WWW浏览器是Netscape2.0beta3以上版本的话,那你就可以看到相关的结果,而如果你的浏览器并非是可以支援JaVaSCriPt的话,那看起来就会有一些怪怪的了,以上范例的结果如下:ThisisanormalHTM1.document.BackinHTM1.again.此一范例并没有太大的用处,它只是要告诉你如何使用(script的标签,并如何将它置於HTM1.的文件之中而已,这个新的标签你可以特它放在文件中的任何地方。范例2:接下来下一个例子所要介绍的是有关函数(function)的使用。请放心,函数并非很难懂的东西,但它却相当有用。函数通常是在HTM1.文件中<body>的部份被呼叫,而理所当然地,它最好事先被宣告并放在HTM1.文件中<body>的部份。好让在<body>部分中使用到函数时,它已确定被读取住来。另外,<script>标签的有关描述语法剖份,你可以用注解的符号将它括起来,以免旧版或无法读取JaVaSeriPt的浏览器读到,而误会了意思!<html><head><scriptIanguage=7TiveScriptz*>functionpushbutton()alert("嗨!你好”);)<script><head><body><form><inputtype="button"name="Buttonl"VaIUe="Pushme”onclick=z,pushbutton()”><form><body><html>如果你是使用Netscape2.0beta3以上的浏览器,那以上JaVaSeriPt语法部份的结果如下,你可以试着按按钮看看有何结果产生!在范例2中,将会产生一个按钮,当你用滑鼠去按它的时候,应该会出现一个视窗上面有“嗨!你好”的字串,如何?不错吧!这个结果是如何产生的呢?首先,在head内的函数会被载入并存於内存中,接着一个新的form标签/力夕1%e=yto”:将产生一个接钮。然彳爰,你可以在彳麦面看到的指令,这就是告诉浏览器,当该按钮被按时,应会执行OnCHck彳爰的函数pus?仇/命0/7。,而这个函数在刚刚程式被载入时就已安放在记忆体中了!请注意,在这个函数中我们用到了个新东西-a/e/r的method,是JaVaSCnPt事先定义好的,它会以对话视窗产生内涵的讯息,并有一“确定“(C)K)的按钮。JaVaSCriPt定义了许多的method,你可以连至Netscape公司去获取较完整的讯息。我想这些method在不久的将来会有长长的一串可以够你学的,不过目前的method也已经可以做出相当多东西了!接着下个例子将告诉你如何由一个输入型表格中读入使用者的输入资料,事实上,这也是加入个函数就可以达成的。范例3:<html><head><scriptIanguage=zz1.iveScriptz*><!-hidescriptfromoldbrowsersfunctiongetname(str)alert(哈罗!+str+!);/endhidingcontents-><script><head><body>Pleaseenteryourname:<form><inputtype="text"name=,name,,OnBlur=getname(this,value)/zvalue="”><form><body><html>现在你可以试试结果如何:请输入你的名字.在这个例子中又有新的东西了。首先,让我们注意一下,在语法中的注解部分(<!-.->)此部分即我们之前所提到的它可以避免旧版本或是不支援JavaScript的WWW浏览器因为不认识这些函数而产生错误。它的顺序应该为<script>先,接着为注解的开头<!-,然彳麦是内容,注解尾-最彳麦是/script>O另外要注意的一点是,语解尾那一行的开头双斜线“”,不可以省略,它代表了JavaScript的注解,若省略了的话,->之前的字会被误认为是JavaScript的指令。这个例子可以让使用者输入一段文字,然彳奏再输入完毕彳会经由<input>标签中的,1oBluf,'事件函数侦知,於是呼叫6珈即76龙个函数来加以取得输入字串,并将它显示在对话视窗上!函数Getnamefthis.value)中的、'this.valud'是你在文字输入格式中所输入的值。范例4:这个范例更是帅了!我们在HTM1.文件档完成了以彳爰,常会加上一行文件最彳麦修改的日期,现在你可不用担心每次都要去改或是忘了改了。你可以很简单的写一个如下的描述语法程式,就可以自动的为你每次产生最彳会修改的日期了:<html><body>ThisisasimpleHTM1.-page.<br>1.astchanges:<scriptIangUage=1.iVeSCript”><!-hidescriptfromoldbrowsersdocument,write(document.IastModified)/endhidingcontents一><script><body><html>以上的document.IastModified叁数在Netscape2.0beta2版时是被写成documeut.Iastmodified的,然而,之彳麦的版本就改为document.IastModified,所以注意一下;JavaScript本身是会区分大小写的,Iastmodified与IastModified在它看来是不同的结果。最彳机在这一部分结束之前,要提醒你一点,像范例4,的用法并非每一部机器都是一样的,例如:PC上跑得很正确的,在工作站上不一定会有相同的结果,所以,或许你仍得测一测不同机器的结果才会有所定论。当然,这一切是因为JavaScript还正在发展的原因,最新的讯息还是得去拜访一下NetSCaDe公司才知道。也许你也不用奇怪,当你隔周再来访时,JaVaSCriPt可能又作T相当大的改变了呢!回主目录本章编译:钱炳全第2集范例5:在这一部分首先要为你展示的JaVaSCriPt特性是将你的滑鼠移到这个不同颜色的连,上面,此时看看浏览器下的状态列有何结果。然彳爰这样的功能我们可以与JavaScript的功能相结合。好,现在再将你的滑鼠移到本处不同颜色的连"空上面,你应该会发现有一个视窗出现,是吧?!如何!怎麽做到的呢?以下就是这一个连结的作法:<ahref=z,tpage.htmz,OnMOUSeoVer="window,status-*Justanotherstupidlink.,;returntruez,>在这儿你只要在传统<a>的标签中加入OnMouseOver的method,就可达成你要的效果了。这里的widow.status是用来让你可以在WWW浏览器的状态列上显示一些讯息用的。在语法中,你可以看到讯息部分是用'括起来的部分,而非以“括起来,在讯息部分结束之彳爰,必须加上;returntrue好了,利用以上的特性可以很简单的完成第二个连结的例子!相当简单,以OnMouseOver的method然彳爰配合事件发生时去呼叫函数hello()就行了,不再多加解释了,作法如下:<html><head><scriptIanguage=zz1.iveScriptz"><!-Hidingfunctionhello()alert("哈罗!);)<script><head><body><ahref=""onMouseOver=,helIo(),>1ink<a><body><html>范例6:接下来我们要告诉你一个使用日期和时间的例子。在第一部分中,你已看过了IastModified的用法和作法。现在要告诉你的并非是印出网路上伺服器或文件修改日期,而是你个人客户端机器的日期和时间。以下就是执行结果:做法如下:<scriptIanguage=zz1.iveScriptz"><!-Hidingtoday=newDate()document,write(,/J!¾在时间是:,today.getHours(),:,today.getMinutes()document,write("<br今天日期为:”,today.getMonth()÷1,/,today.getDate(),/,today.getYear();/endhidingcontents-><script>在本例中,我们必需首先建立一个日期变数,这可以由today=newDate(探完成。如果没有特别指定时间与日期的话,浏览器将会采用本地客户端机器的时间,若将它放入变数today中。这儿要注意的是:我们并没有宣告today这个变数的型态,这和Java或其他的程式语言在用到变数之前必需先加以宣告的方式有相当大的不同。在完成today的日期变数像我们等於建立了一个具有本地时间与日期的物件(Object)o接着就可以使用get.的method以取得today这个物件的时间和日期。请注意getMoth这个method所取得的月份范围是由0-11,所以必须加1以代表真正的1月至12月。看完以上的例子彳友,想想你可以使你的文件变得有点智慧,例如:某个文件有时效限制的话,你可以利用我们在上一部份的范例4中所提到的功能和这一个范例中所学习到的功能,设计一个让你的文件在第10天以彳麦读到的话就会告诉读者喂!这篇已过时了!”的程式,试试看,并不难!除以上功能外,在建立日期物件时你也可以事先设定日期如下:docStarted=newDate(96,0,13)首先是年(西元),接着是月(但记得减1),再接着是日。同样的方法也可以加上时间的设定,如下:docStarted=newDate(96,0,13,10,50,0)前三个是日期的年、月、日,接着是时、分、秒。最彳叁,我们必须提醒你,JavaScript并没有实际的日期型态,但是它却能毫不费力地显示出日期和时间,原因是它是从1/1/19700:Oh开始以ms(milliseconds)来计算目前的时间的,这听起来似有些复杂,但你倒不用担心,它有标准的共用函数可以计算,你只要知道如何用就可以了!接下来我们要为你介绍一个可以产生乱数的函数,也是以JaVaSCriPt所写的。这个函数只是利用了一点小技巧而已,而这种技巧在大部分的编译器(ComPiIeIj中,大都是如此(或类似)计算出乱数来的。我相信JaVaSCriPt最彳会应也会以相似的方法来产生这样的method,如果它会提供这样功能的话。以下是此函数的结果:这是一个计算产生的乱数:以下是这个作法的写法:<html><head><scriptIanguage=zXiveScriptzz>functionRandomNumber()today=newDate();num=Math,abs(Math,sin(today.getTime();returnnum;<script><head><body><scriptIangUage=1.iVeSCript><!-document,write(zzThisisarandomnumber:z,RandomNumber();/-><script><body><html>我们的做法是以上一个范例中的时间函数;它会出现一个很大的数,利用这个数再加以运算即可!例如:将它拿来做正弦函数(sin)的运算,得到的数再做绝对值的运算,结果可以得到一个介於。与1间的实数。因为时间的改变是ms为单位,而且你绝不会获得相同的数字。不过这个做法并不适合拿来快速的连续产生一系列的乱数,但如果你是不定时,久久的用一次,那效果就不错了!范例8:JavaScript的一个重要特点是它可以制作视窗。你可以产生一个的视窗,并且在此视窗中载入HTM1.文件,完全以JaVaSCriPt来航游网际网路(Intemet)o接下来的范例就是告诉你如何开启一个视窗并且写点东西进去,你可先试试按一下范中之接钮看看!原始程式如下:<html><head><scriptIanguage=zz1.iveScriptzz>functionWinOpenOmsg=open(,zz,zzDisplayWindowz,z,toolbar=no,directories=no,menubar=noz");msg.document,write("<HEAD><TIT1.E>哈罗!<TIT1.E><HED>z,);msg.document,write("<CENTERXH1>酷毙了!<Hl><h2>这是<B>JavaScript<B>所开的视窗!<h2><CENTER>");)<script><head><body><form><inputtype=z,buttonz,name-z,Button,VaIUe="Pushme”oneIick=,Winpen()zz><form><body><html>这儿你又看到用按钮来启动函数。这次的函数WinoPen()是藉着一个open的method来产生一个新的视窗。第一对双引号是用来描述欲载入至视窗中的文件UR1.位置。如果留者空白的话,那就会呈现一个空白视窗,并可以透过JaVaSeriPt写入东西!下一对双引号内的内容是这个新开启视窗的名字,你可以喜欢给它任意一个名字,但不可加入空白,如用DisplayWindow的话便会出现错误讯息,请注意。接下来的一连串双引号内所指定的是该视窗的相关性质(properties),这些蛮有趣的,你可以指定要不要有工具棒(toolbar)、卷轴(SCrollba),在你所产生出来的视窗中变的视窗特性,出现一排工具列。以下有许多你可以改请注意它们字中间不可以有空白:等等,例如:如果你写toolbar=yes,那就会toolbarlocationdirectoriesstatusmenubarscrollbarsresizablecopyhistoryWidth二夕ZYeZSheight二"ZYezS以上的pixels部分,你可以填入点数的数值,这数值是告诉浏览器这个视窗的大小。在开启视窗,并且将它称为OSg以彳麦,就可以开始写些东西到视窗中了。你可以写入一般正规的HTM1.语法文字。哇!这可不得了了,也就是说,你可以利用先前使用者在form表格中输入给你的文章直接将它回应至浏览器上来了!这些功能在几个月前大概还只能用CGl才能达到喔!现在你不用CGl也可以做了!回主目录希你能对我们的介绍感到还算不错。由於JavaScript尚未完全发展完成,并且很可能会再继续地做一些更动,希这儿的范例到时都还能执行,在JavaScript更多特性完成彳乳我们也会继续地再为你介绍一些新的范例的!本章编译:钱炳全第三集曾有许多网友问我有关JaVaSCriPt与框架(为求方便,以下均用frame表示)合用的问题。事实上,若您同时想用frames和JaVaSCriPt:的功能,首先您必需拥有NetscapeNavigator2.0(或以上)浏览器(至少目刖是如此)。当然也有某些浏览器支援frames的功能-如QraCI6开发的PowerBrowser,但此浏览器还只是Beta版,目前尚不支援JavaScripto首先,我稍微解释一下frames的功用。因为frames功能才开发不久,仍有许多HTM1.文件中未使用这项新功能。FrameS最主要功用是''分割”您的视窗,使每个”小视窗”(frame)能显示不同的HTM1.文件(译按:这有点类似电视的子母画面)。更妙的是,不同frame之间可以互动(interact),也就是说不同frame之间可以交换讯息与资料(information)。例如:假设您开了两个frames,第个frame可显示普通HTM1.文件,第二个frame可显示工具列(toolbar)。此工具列中可包含浏览您homepage所需的各种按钮。如此一来,即使第一个frame载入了另一个HTM1.文件,您仍可在第二个frame中看到工具列。现在我先将上述特性展示下面的按钮,看一看frames的长看此文件,您可能需稍候一下scripts必需由server中载入到您的以下是此frame的写法:按线总请是造。您幺一瞧一到瞧相得您4看给相才一上因下观为<HTM1.><HEAD><title>Frames<title><HEAD><FRAMESETR0WS=z,50%,50%”><FRAMESRC="frtestl.html"name="frl”><FRAMESRC=,frtest2.html,/name="fr2”><FRAMESET><HTM1.>首先您必须告诉浏览器您要开几个frame?这是由frameset.这个标签(tag)来宣告。的这项叁数是告诉浏览器您想将视窗分割成几歹!1?而c。IS这项叁数是告诉浏览器您想将视窗分割成几行?您也可以用很多组的<frameset.>tags将视窗分割得更复杂。以下是NetSaCPe所提到的一个范例:<FRAMESETCO1.S="50%,50%,><FRAMESETR0WS="50%,50%”<FRAMESRC=zzCell.htmz><FRAMESRC="cell.htm><FRAMESET><FRAMESETR0WS="33%,33%,33%><FRAMESRC=zzCell.htmz><FRAMESRC="cell.htm><FRAMESRC=,zcell.htmz><FRAMESET><FRAMESET>上面这个例子产生了两行,而且第二行又分割成三列大小相等的空间。在第一个<frameset>tag中的50%,50%两项叁数是用来表是frame的大小。您可以给每个frame一个”名字,(name)。frame的名字在JaVaSCnPt语法中的地位非常重要。在本章的第一个范例中您已学到如何替frame命名。接下来您可以用<frame>tag告诉浏览器您要载入哪一个HTM1.文件。我想您已了解frames的基本用法,接下来我们再看一个有趣的范例:上面的按钮将显示:按某个frame中的按钮彳氨会在另一frame中写入文字。以下是此功能的原始码:在产生frames效果之前,您需先制作下列原始码(frames.html):<HTM1.><HEAD><title>Frames<title><HEAD><FRAMESETR0WS="50%,50%z,><FRAMESRC="framel.htmlz,name="frl"noresize><FRAMESROframe2.htmlname二fr2><FRAMESET><HTM1.>以下是framel.html的原始码:<HTM1.><HEAD><scriptlanguage=zzJavaScript,z><!Hidingfunctionhi()document,write("嗨!<br>");functionyo()document,write(!<br>,z);functionbla()document,write("啦啦啦<br>");)/-><script><HEAD><BODY>这是第一个frame!<BODY><HTM1.>以下是frame2.htm!的原始码:<HTM1.><body>这是第二个frame!<P><FORMNAMEJbUttOnba<INPUTTYPE="button"VA1.UE=嗨onClick="parent.frl.hi()"><INPUTTYPE="button"VA1.UE="OnCliCk-parent,frl.yo()”><INPUTTYPE="button"VA1.UE="啦"OnC1.iCk="parent,frl.bla()”><FORM><BODY><HTM1.>哇!这些语法越来越长了!上述的语法是如何运作的呢?当使用者载入第一个档案(frames.html)t,将会产生两个frame,并且在第一个framed名为,frl,)载入framel.html,而在第二个frame(命名为fr2')中载入frame2.htmlo到目前为止都只是普通的HTM1.语法。或许您已发现在framel.html中包含了JaVaSCHPt语法,但此JaVaSCriPt并没有马上被执行。难到这些函式(functions)是不必要的?亦或是我得删除这些不必要的函式?虽然我是散惯的人,但这些函式确实是必须的。它们是被位於frame2.html中之JaVaSbiPt语法所呼叫而执行的。我在frame2.html中利用JaVaSeriPt语法制作了三个按钮,制作按钮来呼叫函式的方法我已在第一章提过,相信您对。nClick的用法已相当熟悉。但是parent.frl是干嘛用的?若您对物件观念已相当了解,相信它对您不是甚麽新鲜事。您可以看到frames.html同时呼叫framel.html与frame2.html两个档案,所以frames.html称为framel.html与frame2.html的parent(i恕我直接用英文)。同理,这两个新的frame就称为frames.html的child-frameso您可将这种复杂的关系想像成阶层式架构(hierarchy)。以下我借助一个小图来厘清这种关系:parentframes,htmlfrl(framel.html)fr2(frame2.html)children当然您可依此类推,产生一些grandchildren'frames。(当然,这并不是正式的名称):parentframes,htmlfrl(framel.html)fr2(frame2.html)chiIdrengrandchildren,gchildlgchild2若您想由frame2.html呼叫Paent-frame中的任何函数,您只要将parent放在您欲呼叫函数名称之前即可。同理,若由Parent-frame呼叫位於framel.html中的函数,您只需将制放在被呼叫函数名称之前。为什麽用外呢?原因是我们在frames.html中开了两个frame,而且将它们分别命名为牝和和。所以我用制代表第一个frame(framel.html)0接下来的步骤就相当容易了。当我们欲由frame2.html(命名为问呼叫第一个frame中的函式时该怎麽做?由上面的“小图”您可以发现,framel.html和frame2.html之间并无直接关连(connection),因此您不可以“直接”由frame2.html呼叫位於framel.html中的函式。您必须透过Parent-frame来呼叫它,所以正确指标(index)应为paret.frl0例如若您想由frame2.html呼叫hi()1您必须写成paret.frl.hi()o这也就是为什麽frame2.html中的OneIiCk要写成那种样子的原因了。对了!附带提一点小东西。您或许已发现本章中都用scriptIanguage=PavaScrip”代替前两章用的scriptlaguage="1.iveScript,>o其实此二者间并没什麽差别。但起初JaVaSeriPt被植入NetSCaPe浏览器时,您只能用1.iVeSCrJpt语法。(这是一种由NetSCaPe发展的旧语法,和JaVaSCriPt极为类似)。我想既然我们讨论的是JaVaSe

    注意事项

    本文(JavaScript 解释型或即时编译型的编程语言.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开