【教学课件】第一章JavaScript基本介绍.ppt
《【教学课件】第一章JavaScript基本介绍.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第一章JavaScript基本介绍.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章JavaScript 基本介紹張智星http:/mirlab.org/jang台大資工系 多媒體檢索實驗室1/50JavaScript 程式設計與應用:用於網頁用戶端前言n本投影片適用於JavaScript 程式設計與應用,原書連結如下:nhttp:/mirlab.org/jang/books/jsBookn如果你是從此書光碟取得此投影片,可隨時連至上述連結,以取得最新版本的投影片及範例檔案。2/50JavaScript 程式設計與應用:用於網頁用戶端本章大綱n大綱n本章介紹 JavaScript 的背景及特性,並說明 JavaScript 的執行方式及基本範例。n主題n1-1:背景及特
2、色 n1-2:執行方式一:循序執行 n1-3:執行方式二:事件驅動 n1-4:基本表單 n1-5:JavaScript 和 VBScript 的比較 n1-6:網路資源3/50JavaScript 程式設計與應用:用於網頁用戶端1-1 背景及特色n本小節說明JavaScript程式語言的發展背景及相關特色。4/50JavaScript 程式設計與應用:用於網頁用戶端背景nJavaScript程式語言的背景n由 Netscape Communications 公司所開發的一種解譯式程式語言,專門用在網頁中,並在用戶端的電腦執行,以提高網頁的互動性為主要目標n網頁內訂預設的客戶端程式語言。因此只有
3、 JavaScript 能同時適用於 Chrome、FireFox 或 IE 等各大瀏覽器。n滿足 ECMA(European Computer Manufacturers Association,歐洲電腦製造商協會)所制訂的標準。5/50JavaScript 程式設計與應用:用於網頁用戶端可使用之平台nJavaScript 可發揮的平台n用戶端:預設的網頁程式語言,可用於 Chrome、FireFox 或 IE 等各大瀏覽器。n伺服器:適用於微軟 IIS 網頁伺服器的 ASP 語言環境,可在網頁送到客戶端之前,進行各種處理,或和資料庫進行資料存取。n單機版:適用於微軟的視窗作業系統(Win9
4、8、ME、2000、XP、Vista、Win7、Win8 等),可用於取代原先功能不強的 DOS 批次檔(Batch Files),特別適用於處理日常性或重複型的工作,例如網頁的抓取或帳號的建立,等等。6/50JavaScript 程式設計與應用:用於網頁用戶端在網頁程式設計的主要功能nJavaScript 在網頁程式設計的主要功能n提高網頁互動性及趣味性,例如以 JavaScript 所發展出來的各種遊戲或教材。n執行在用戶端的計算及驗證,以減少伺服器端的計算及網路流量,例如表單驗證(Form Validation)。nCache功能,可將未用到的圖檔(或其他檔案)預先抓回,以增加使用者的便
5、利。nAJAX 功能:在不換頁的情況下來存取伺服器資料並顯示於網頁7/50JavaScript 程式設計與應用:用於網頁用戶端程式語言特性nJavaScript 語言特性nJavaScript 的程式碼是內嵌於 HTML 原始碼之中,並由瀏覽器的 JavaScript 解譯器(Interpreter)來執行程式碼,最後將結果呈現於瀏覽器。換句話說,JavaScript 的程式碼是由瀏覽器來執行,所以在用戶端可看到其原始碼,較難加以保護。n由於安全性的考量,除了讀寫 Cookies(請參見本篇教材後面的介紹)之外,JavaScript 並無法讀取用戶端的檔案或硬碟。n使用變數時,不需要宣告變數型
6、態,JavaScript 會自動決定。n對於不同的資料型態(如字串與數值),JavaScript 可以根據不同情況,自動進行資料型態的合理轉換。8/50JavaScript 程式設計與應用:用於網頁用戶端JavaScript vs.JavanJavaScript 和 Java 沒有什麼親戚關係!nJava 之於 JavaScript 的關係,就如同狗和熱狗。(source)n比較表:JavaScriptJava Applets由客戶端的 JavaScript 解譯器進行逐列解譯後執行。由伺服器取得編譯後的 Bytecode,然後在客戶端由 Java Virtual Machine 執行。物件基
7、礎(Object-based)的語言,繼承(Inheritance)關係必須經由特殊方式才能達成,性質及方法可以動態地加到一個物件。物件導向(Object-oriented)的語言,物件可分為類別(Classes)及實例(Instances),繼承關係來自於物件的階層性。類別及實例都無法具有動態產生的性質及方法。程式碼內嵌於 HTML 網頁之中。以特殊標籤來將 Java Applets 加入網頁之中。所有變數不需要事先宣告資料型態,即可逕行指定變數值。所有變數都必須事先宣告資料型態。在執行程式碼時,才會檢查所到的物件是否存在。在編譯程式碼時,即會檢查所用的物件是否存在。無法讀寫客戶端的硬碟(C
8、ookies 除外)。無法讀寫客戶端的硬碟。9/50JavaScript 程式設計與應用:用於網頁用戶端1-2:執行方式一:循序執行n本小節說明如何以循序執行的方式,來執行網頁中的 JavaScript 程式碼。10/50JavaScript 程式設計與應用:用於網頁用戶端JavaScript 於網頁的執行方式nJavaScript 於網頁執行的兩種基本方式:n循序執行(Sequential Execution):瀏覽器讀入網頁後,即載入並執行 JavaScript 程式碼,最後將結果直接呈現在瀏覽器上。n事件驅動(Event Driven):瀏覽器讀入網頁後,即載入 JavaScript 程
9、式碼,但必須等到使用者點選連結或影像,或是啟動其他滑鼠事件(例如當滑鼠離開某個影像),才能觸發 JavaScript 的執行。11/50JavaScript 程式設計與應用:用於網頁用戶端如何加入JavaScript 於網頁nJavaScript 如何加入網頁JavaScript 程式碼n注意事項n標籤中的大小寫並無任何影響。nlanguage=javascript也可以完全省略。n雖然 HTML 內的 JavaScript 標籤是可以不分大小寫,但是標籤內部的 JavaScript 程式碼本身會區分大小寫,這是要特別注意的地方!12/50JavaScript 程式設計與應用:用於網頁用戶端範
10、例1-1n主題:利用 JavaScript 來印出 Hello World!n連結:以瀏覽器開啟hello01.htm、localhost、mirlabn程式碼重點str=Hello World!;document.write(str);n說明nstr 是一個字串變數,其值為 Hello World!ndocument 則是一個物件,代表程式碼所在的文件nwrite 則是 document 的一個方法,可將一個字串印出於瀏覽器13/50JavaScript 程式設計與應用:用於網頁用戶端以物件為基礎的語言nJavaScript 是以物件為基礎的語言n所有的變數在 JavaScript 中都是一
11、個物件n一個物件通常有一些性質(Property)和方法(Method)n範例:把一個微波爐A看成一個物件n性質:n微波爐的顏色:A.colorn微波爐的容量:A.volumen方法:n加熱:“溫水”=A.heat(“冷水”,30秒)n加熱:“沸水”=A.heat(“冷水”,300秒)14/50JavaScript 程式設計與應用:用於網頁用戶端範例1-2n主題:document.write()和 document.writeln()的差別n連結:writeln01.htmn程式碼重點document.write(Good);document.write(Bye!);document.writ
12、eln(Good);document.writeln(Bye!);n說明nwriteln()和 write()的最大差別在於 writeln()在列印完畢後會換列,但 write()不會。n如果連續呼叫 document.write(Good)和 document.write(Bye!),在網頁會呈現連在一起的 GoodBye!,但是如果連續呼叫 document.writeln(Good)和 document.writeln(Bye!),則在網頁會呈現中間有空格的 Good Bye!,15/50JavaScript 程式設計與應用:用於網頁用戶端範例1-3n主題:呈現 JavaScript
13、印出的原始效果n連結:writeln02.htmn程式碼重點使用 document.write():document.write(Good);document.write(Bye!);使用 document.writeln():document.writeln(Good);document.writeln(Bye!);使用 document.write()再加上 n:document.write(Goodn);document.write(Bye!n);n說明n使用 和 來包夾 JavaScript 的程式碼,可以得到JavaScript 的原始輸出結果(未經瀏覽器排版),非常適用於JavaS
14、cript 程式碼的偵錯。16/50JavaScript 程式設計與應用:用於網頁用戶端範例1-4n主題:利用 JavaScript 來印出 size 由 1 到 5 的Hello World!n連結:hello02.htmn程式碼重點/由 for 迴圈來產生 5 個由小變大的 Hello World!for(i=1;i=5;i+)document.writeln(Hello World!);n說明nJavaScript 的 for-loop 格式和 C 語言一樣n字串的並排是由+來達成。nJavaScript 有兩種加入註解的方法n單行註解n多行註解17/50JavaScript 程式設計與
15、應用:用於網頁用戶端範例1-5n主題:利用 和 來印出未經瀏覽器排版的結果n連結:helloXmp01.htmn程式碼重點/由 for 迴圈來產生 5 個由小變大的 Hello World!document.write();for(i=1;i=5;i+)document.writeln(Hello World!);document.write();n說明n若要得到未經瀏覽器排版前的 JavaScript 輸出結果,可以使用 和,但是對於含有 HTML 標籤的文字資料,我們就必須改用 和 18/50JavaScript 程式設計與應用:用於網頁用戶端HTML/JavaScript解譯及排版流程J
16、avaScript:解譯及執行瀏覽器:解譯標籤瀏覽器:排版HTML原始碼網頁呈現結果使用來觀看資料範例:helloXmp01.htm使用來觀看資料範例:writeln02.htmHTML/JavaScript解譯及排版流程解譯及排版流程19/50JavaScript 程式設計與應用:用於網頁用戶端範例1-6n主題:使用註解來隱藏程式碼,使不支援 JavaScript 的瀏覽器不會產生錯誤訊息n連結:hello03.htmn程式碼重點n說明n混合使用 HTML 及 JavaScript 的註解,可以避開無法解譯 JavaScript的瀏覽器。n現在各大瀏覽器都支援 JavaScript,所以使用
17、這種隱藏程式碼的 JavaScript 的程式已經越來越少了。20/50JavaScript 程式設計與應用:用於網頁用戶端1-3 執行方式二:事件驅動n本小節介紹JavaScript如何用事件驅動來執行程式碼。21/50JavaScript 程式設計與應用:用於網頁用戶端內建視窗類別nJavaScript提供了三種和使用者互動的內建對話視窗n警告視窗(Alert Window)n確認視窗(Confirm Window)n提示視窗(Prompt Window),或稱為輸入視窗n說明n所謂滑鼠事件(Mouse events),指的是能由瀏覽器偵測到的滑鼠動作,例如點選某一個連結、將游標移到一的影
18、像上、游標的移動等。22/50JavaScript 程式設計與應用:用於網頁用戶端範例1-7n主題:使用者點選連結會出現罵人的警告視窗n連結:alert01.htmn程式碼重點按了你會後悔喔!n說明n若要讓使用者點選連結來執行 JavaScript 的程式碼,則連結的格式必須是被連結文字n程式碼內的字串(例如上例中!#$%&*!),可用單引號來界定,避免和href=之後的雙引號混淆。23/50JavaScript 程式設計與應用:用於網頁用戶端範例1-8n主題:顯示網頁載入時間的警告視窗n連結:alert02.htmn程式碼重點 today=new Date();hour=today.getH
19、ours();minute=today.getMinutes();second=today.getSeconds();string=網頁載入時間是+hour+點+minute+分+second+秒“;n說明n我們產生字串 string,當連結被按下去時,再將字串送至警告視窗。n有關於日期物件和各種時間的用法,會在後面詳述。24/50JavaScript 程式設計與應用:用於網頁用戶端範例1-9n主題:囉里叭唆的警告視窗n連結:alert03.htmn說明n字串可以用”+”連接在一起,而數字以”+”做相加運算,當數值和字串相加時,數值會被當成字串型態,兩者再用”+”相連接。nJavaScript
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第一章 JavaScript 基本 介绍
限制150内