JavaScript程式设计.docx
- 文档编号:29094670
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:25
- 大小:128.25KB
JavaScript程式设计.docx
《JavaScript程式设计.docx》由会员分享,可在线阅读,更多相关《JavaScript程式设计.docx(25页珍藏版)》请在冰豆网上搜索。
JavaScript程式设计
JavaScript程式設計
中研院計算中心翁維瓏
Ø什麼是JavaScript?
JavaScript是一種使用者(Client)端的語言,它是Netscapecommunications以及SunMicrosystems合作下的產物,它可以讓你直接崁入你的HTML文件中,而產生動態控制網頁間的互動。
Ø要在哪一種軟體寫JavaScript程式?
一般文書處理程式均可編輯。
(ex.記事本、MicrosoftNotePad、MacSimpleText、UNIXvi或emacs...)
ØJavaScript的程式碼應該放哪裡?
1、包含於Script前後標籤(tag)之間。
想要在HTML中插入Script不是一件困難的事。
每一個Script的開始和結束都要有一個標籤來表示。
一個Script的開始用的標籤為結束。
JavaScriptProgram
SCRIPT標籤的屬性:
SRC–其意義包含了JavaScript原始檔的URL,此檔名必須是副檔名為.js的檔。
LANGUSGE–指script所使用的語言。
JavaScriptProgram
[範例一]
document.write("歡迎光臨");
[範例二]
alert("歡迎光臨");
2、如果希望HTML一載入時即執行Script,建議將嵌入
前後標籤之中。3、如果欲將JavaScript的命令嵌入Anchor之中,請加上Javascript:
的字樣。
alert('OK! ')">按我 4、呼叫執行某段程式(function)
functiontest(){
:
}
test()">按我 5、加上適當的註解增加程式的可讀性 //輸出"歡迎光臨" document.write("歡迎光臨"); Ø常見的錯誤 1、 document.write("歡迎光臨! ) 2、 write("歡迎光臨! ") 3、 document.Write("歡迎光臨! ") 4、 //變數的初始化 varMsg="歡迎光臨" document.write(msg) ØJavaScript內建對話方塊 1、警告(提示)視窗(AlertWindow) alert('這是警告視窗')">按我 2、確認視窗(ConfirmWindow) --以函數來完成此項工作--> functionlink2as(){ answer=confirm("你確定要連到中央研究院的首頁嗎? "); if(answer) location.href="http: //www.sinica.edu.tw"; } link2as()">中央研究院首頁 3、輸入視窗(PromptWindow) functionload(){ myName=prompt("請輸入你的大名: ",""); if(myName! =null) document.write("你是"+myName+",你好啊"); } [範例三]網路上的整人把戲 functiongo(){ answer=confirm('你確定要連到這個網頁嗎? '); if(answer){ alert('進入本網站需滿十八歲! ! '); alert('你確定你有十八歲? ! '); alert('我不相信…! ! '); alert('拿出你的身份證讓我檢查'); myName=prompt('你叫做什麼大名: ',''); if(myName! =null){ alert(myName+'...名字怎麼那麼怪! ! '); }else{ alert('不告訴我...? ? 你的名字真的那麼見不得人嗎? ? '); } alert('這張照片真的是你嗎? ? '); alert('我不相信! ! '); alert('平平18歲奈差呀追'); alert('平常欠保養喔…'); alert('有沒有後悔按了這個鈕? ? ') alert('猜猜我會讓你按幾次? ? ') howMany=prompt('自己輸入你要按幾次吧: ',''); if(howMany! =null||howMany! =0){ for(i=0;i alert('還有'+(howMany-i)+'次! '); }elseif(howMany=0){ alert('別想偷懶! ! 那就讓你按個二十次吧! ! '); for(i=0;i<20;i++) alert('還有'+(20-i)+'次! '); } if(howMany==null){ alert('不輸入...? ? 那就讓你按個二十次吧! ! '); for(I=20;I>0;I--) alert('還有'+(20-i)+'次! '); } alert('還想玩嗎? ? '); alert('不想喔...好吧...放過你吧...! ! '); alert('下次別再那麼好奇了'); alert('有空擱來坐'); }else{ alert('有空再聯絡! ! '); } //--> } ØJavaScript的基本邏輯敘述 1、if敘述 a、if的單一敘述法: 如果條件判斷式的值為真,執行敘述式。 if(邏輯判斷式) 程式敘述; b、if的多重敘述法: 如果條件判斷式的值為真,則執行敘述一,否則執行敘述二。 if(邏輯判斷式){ 程式敘述區塊; }else{ 程式敘述區塊; } [範例] vara=1; varb=2; if(a>b) document.write("a大於b"); if(a>b){ alert("a比較大"); document.write("a大於b"); }else{ alert("a比較小"); document.write("a小於或等於b"); } 2、for敘述 又稱為for迴圈(loop)。 依括號內三個選擇性參數的值,決定迴圈的次數。 for([初值];[邏輯判斷式];[更新敘述]) { : } [範例四]以for迴圈繪製一8*6的表格 vari,j for(i=1;i<=6;i++) { document.write(" for(j=1;j<=8;j++) { document.write(" } document.write(" } 3、while敘述 每一次迴圈均計算條件判斷式的值,若其值為真(true)則執行內含的敘述,否則跳出迴圈。 While(邏輯判斷式){ 程式碼區塊; } [練習一]改寫範例四,運用while迴圈敘述繪製一6*8的表格 4、break敘述 用來終止while或for迴圈。 [範例五]若i=3則終止迴圈 for(i=5;i>0;i--) { if(i==3)break document.write("i=",i," } 5、continue敘述 僅僅終止while或for的某一個迴圈,然後繼續進行下一個迴圈。 [範例六]若i=3則跳過,繼續進行下一個迴圈 for(i=5;i>0;i--) { if(i==3)continue document.write("i=",i," } [綜合範例]顫動視窗"); ");"+i+"*"+j+" ");
")
")
functionshake(n){
for(i=50;i>0;i--){
for(j=n;j>0;j--){
self.moveBy(0,i);
self.moveBy(i,0);
self.moveBy(0,-i);
self.moveBy(-i,0);
}
}
}
[綜合練習]以while迴圈敘述改寫上述範例
ØJavaScript的物件(Object)、屬性(Property)及方法(Method)
1、物件
視窗、文件、表單、頁框…等幾乎全部都是物件。
在Netscape4+/IE4+以後,被標籤所包圍的文字也都變成是物件。
針對這些物件可以作屬性的設定或指定方法…等各種處理。
2、屬性及方法
屬性也就是物件所擁有的值,像背景色、文字的顏色、疊層…等都是。
而方法則是給物件下達指令。
屬性、方法、物件名稱、屬性名稱、方法名稱以『.』區隔作敘述,如果沒有區別屬性名稱及方法名稱時,在指令後面加上()的就是方法,如果不是的話就是屬性。
方法和屬性,它可以作覆數個的記述,例如要將某『文字』設定成粗體、斜體時可如下所述:
"文字".bold().italics()。
物件、屬性、方法的表示法:
物件.屬性.方法()
JavaScript的物件:
文件物件(document)視窗物件(window)
瀏覽器物件(navigator)字串物件(String)
日期物件(Date)事件物件(event)
歷史物件(history)表單物件(forms)
螢幕物件(screen)頁框物件(frames)
影像物件(Image)層疊物件(Layer)
……..等
舉個例子來說,如果欲開啟一個新視窗,所運用到的是視窗物件(window),所運用的方法是open()方法,如以下表示法:
window.open();
又,我們可以訂定屬性決定此開啟的視窗大小、是否有捲軸、是否有工具列,如下:
window.open('msg.htm','_new','resizable=yes,scrollbars=yes,width=320,height=300');
ØJavaScript的事件處理程序
onLoadonUnload
onClickonDblClick
onChangeonMouseDown
onMouseUponMouseOver
onMouseOutonMouseMove
onKeyPressonKeyDown
onKeyUponSubmit
onResetonSelect
onAbortonBlur
onDragDroponFocus
onErroronResize
Ø綜合範例
3、進版歡迎視窗
functionmsg(){
window.open('msg.htm','_new','resizable=yes,scrollbars=yes,width=320,height=300');
//msg.htm是妳的訊息頁//
//這裡是在網頁載入後開啟一個320*300的小視窗//
//resizable=yes是能讓user變更視窗大小//
//scrollbars=yes是在視窗裡有捲軸功能.......//
}
:
:
: