首頁  >  文章  >  後端開發  >  無線標記語言(WML)基礎之WMLScript 基礎

無線標記語言(WML)基礎之WMLScript 基礎

陈政宽~
陈政宽~原創
2017-06-28 13:59:334322瀏覽

                    為WML Script1.1是在歐洲電腦製造商協議會制定的ECMAScript腳本語言的基礎上,經過修改和優化而指定的。它能夠更好的支援諸如行動電話類的乍帶寬通訊設備,在WML編程中使用WML Script可以有效的增強客戶端應用的靈活性,而且,我們也可以把WML Script作為一個工具使用,開發出功能強大的WAP網路應用程式和無限網頁。本章我們將詳細解說WML Script1.1程式設計的基礎預法制時,例如基本規則、變數預資料型別、運算賦予運算式等。為了敘述上的簡便,以後我們將「WML Script1.1」簡稱為「WMLScript 」。 
  4.1 WML 程式中呼叫WML Script函數
  經過前兩章的學習,熟悉C語言的讀者可能會認識到,WML 的函數功能、邏輯運算功能等都是十分有限的。而WMLScript提供了豐富的函數功能,我們在WAP應用開發可以使用WMLScript來增強WML程式設計。因此,WMLScript成為擴充WML程式設計能力的主要開發工具。
  4.2 WMLScript的主要優點及其字節碼解釋器
  WMLScript具有一套定義好的字節碼和一個解釋器參考結構。無線網路傳輸中WMLScript的資料皆以二進位格式進行傳輸,所以,使用者可以使用乍頻寬通訊頻道,從而能夠保持客戶端手機只需要最小限度的記憶體。 ECMAScript修改後所得到的WMLScript能夠更快、更小、更容易的編譯程式為字節碼形式。所有這些特點,是WMLScript具備了WML所不能具備的許多優點和功能。
  4.2.1 使用WMLScript的主要優點
  WMLScript的設計宗旨是為WMLScript系統提供一般的腳本處理能力,使用WMLScript我們可以進一步補充基於XML的WML語言的編程功能,開發針對乍帶寬的網絡開發針對乍帶寬的網絡應用程式及內容,如文字、圖像、選擇清單等,我們可以使用簡單的格式編寫出更靈活和更具可讀性的使用者介面。 WMLScript具備的WML所不能具備的優點和功能,主要包括以下幾個方面: 
  (1)檢查用戶輸入的合法性:
  (2)擴展用戶瀏覽器的功能,例如允許程式設計師開發手機的電話通話、發送短訊息、儲存電話號碼、管理電話簿或SIM卡等;
  (3)產生用戶端的確認、提示、警告訊息或操作對話框,並使之快速顯示在瀏覽器上;
  (4)在用戶瀏覽器的更改後,能夠對瀏覽器端的軟體和參數進行擴展與配置;
  (5)最大程度克服客戶端的乍頻寬通訊連接限制,並提供豐富的程序功能;
  (6)補充WML並使之實現針對微型行動終端設備的多種服務,如支援進階使用者介面、增加客戶端智慧型、提供使用者瀏覽器週邊功能的存取能力,以及在伺服器與客戶端瀏覽傳輸資料是減少頻寬佔用等。
  4.2.2 WMLScript的字節碼解釋器
  在WMLScript的字節碼解釋器解釋之前,WMLScript語言編寫的文本格式的程式將被首先編譯為二進位格式的程式碼。編譯時,編譯器通常會先將WMLScript程式分成若干個編輯單位,每個單位的程式都包含一定數量的語句行和WMLScript函數,然後,WMLScript的編譯器會依照這些編譯單位,逐一將WMLScript程式作為輸入內容,而以對應的字節碼作為輸出內容。當使用者透過WAP手機呼叫WMLScript程式時,編譯器的編碼功能即被啟動、執行。
  4.3 WMLScript基本規則
  WMLScript在許多基本規則方面沿用了WML的做法。不過,由於WMLScript是以C語言為藍本而指定的,所以它的語法特徵和C語言非常相像。如果大家對C語言比較熟悉,那麼學習和掌握這部分內容應是比較容易的。
  4.3.1 WMLScript與URL
  與WML一樣,WMLScript也沿用了WWW和HTML訪問資源的URL、HTTP等規範,並擴大了URL使用的範圍。在WMLScript中,不僅超連結、檔案路徑即檔名可以當作URL處理,外部函數、存取控制資訊等也可以當作URL處理。
  為此,WMLScript採用了WML的變通方法,即改進HTML命名資源為值的方式,採用程式段錨點(Fragment Anchor)的形式來處理資源定位。程式段錨點依照文件URL規則進行定義,並依照程式段標識符前加井字號(#)的方式書寫。使用程式段錨點,WMLScript程式可以在WMLScript編譯單位內可任意指定的函數,並且可在呼叫函數的同時傳遞所需的參數。
  4.3.2 詞法結構
  WMLScript程式設計中的詞法結構並不複雜,我們以下就從大小寫敏感、空格、換行、註解即保留字等方面講解相關的具體規則。
  (1)內容類型。 WMLScript的內容類型主要針對檔案形式和二進位形式兩種情況,類型結構可以在伺服器端進行指定,具體形式為:
  文字形式:text/vnd.wap.wmlscript;
  二進位形式:application/ vnd.wap.wmlscriptc。
  具體指定方法我們在第4章已經介紹過,這裡不再重述。
  (2)大小寫敏感。 WMLScript1.1是一種大小寫敏感的腳本語言。它所設計的各種關鍵字、變數和函數名都必須合理的使用大小寫。
  (3)空格和換行。一般情況下,WMLScript程式值形式將忽略所有的空格、製表符合換行符等。但如果把這些特殊字元透過程式碼進行表達,或作為字串進行處理時,WMLScript將不再忽略它們。瞭如,字串"Oct 28,2001"含有空格,執行時就不會被忽略,它與不含空格的字串"Oct28,2001"是不同的。
  (4)註。與WML程式設計一樣,在WMLScript腳本程式中也可以加入註解內容。註釋內容不被程式執行,且註解不能嵌套。 WMLScript的註解方法有兩種:
  其一,行註解。即使用雙斜行號(//)引導以一行內容,這一行內容全部作為註解內容。如:
//這是以行註釋,由雙斜線號開始到結束都是註釋。
  其二,區塊選擇。即以符號「/*」開始,而以符號「/*」結束的期間所有內容都是註釋內容。如:
/*這就是區塊註釋,加在中間的內容就是註釋內容*/
  (5)資料類型與直接編碼。 WMLScript允許將4種類型的資料直接編碼並可嵌套並可嵌如程式之中。直接編碼的4中資料類型為:整數、浮點數、字串和布林值。另外,「無效性」值也可直接編碼」 1. 整數。當以十進位、十六進位或八進位方式使用整數時,可對這類整數進行直接編碼。
  編程式時,十進位的數字皆不以0開頭,只包含0~9的數值字串;十六進位的資料以OX或Ox開頭,只包含0~9、a~f或A~F的字串;八進位的數皆以0開頭,只包含0~7的數字字串。點數,可以是分數,也可以是指數;但一個浮點數必須至少有一個數。的零次冪,例如:e0時10的另次冪,e-2時10的負2次冪集等於0.01。和負指數。雙引號或但引號來定義字串,所以程式中使用一個單引號或一個雙引號時就會出現編譯錯誤。序列來表示這些特殊字元。 ,具體規則我們後面介紹。 ##  4.保留字。 break isvalid continue meta header
p name p= path domain return else typeof while
equiv url extern use for㠀user
case finally catch import class private const public debugger
sizeof default struct do super enum switch export throw #" try
#1]offidooooo5ood new with
  7.標識符。 WMLScript的識別碼可以指定或命名3種元素:變數、函數和標註。識別符不能以數字開頭,但能一段底線(-)開頭,而且,識別符不能是WMLScript的保留字。例如,timeOfDay、speed 、quality、HOME_ADDRESS、_myName、、varO等都是合法的標識符;而以數字或非短下劃線的特殊符號開頭的字符串,以及保留字等都屬於不合法的標誌賦,如while、for、if、my~name、$sys、123、3piecs、take.this等。
  由於WMLScript是嚴格區分大小寫的,所以字母相同但大小寫不同的標識符不是同一個標識,例如,Work和work就是不同的標識符。
  8.名稱空間。 WMLScript提供了比較自由的名稱空間,而同一識別碼可以同時用作不同的目的。例如,作為某一函數名稱的標識符,也可以同時用作
變數名稱
函數參數、程式標註等,使用時他們的屬性或值等並不互相影響。在下面的簡單的程式中,myTest這個標識符即用作了函數名,又用作了變數名、函數參數名、函數參數名、常數名。顯然,WMLScript的這一特定為我們編寫程式提供了很大的方便。
目前1/2頁 

1

2下一頁閱讀全文

以上是無線標記語言(WML)基礎之WMLScript 基礎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn