主頁 > 知識庫 > 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁

無線標記語言(WML)基礎之WMLScript 基礎第1/2頁

熱門標簽:呼叫中心市場需求 檢查注冊表項 智能手機 網(wǎng)站文章發(fā)布 鐵路電話系統(tǒng) 銀行業(yè)務 美圖手機 服務器配置
                        WML Script是屬于無限應用協(xié)議WAP應用層的一部分,使用它可以向WML卡片組和卡片中添加客戶端的處理邏輯,目前最新的版本是1.1版。WML Script1.1是在歐洲計算機制造商協(xié)議會制定的ECMAScript腳本語言的基礎上,經(jīng)過修改和優(yōu)化而指定的。它能夠更好的支持諸如移動電話類的乍帶寬通信設備,在WML編程中使用WML Script可以有效的增強客戶端應用的靈活性,而且,我們也可以把WML Script作為一個工具使用,開發(fā)出功能強大的WAP網(wǎng)絡應用和無限網(wǎng)頁。本章我們將詳細講解WML Script1.1編程的基礎預法制時,如基本規(guī)則、變量預數(shù)據(jù)類型、操作賦予表達式等。為了敘述上的簡便,以后我們將“WML Script1.1”簡稱“WMLScript ”。 
  4.1 WML 程序中調(diào)用WML Script函數(shù)
  經(jīng)過前兩章的學習,熟悉C語言的讀者可能會認識到,WML 的函數(shù)功能、邏輯運算功能等都是十分有限的。而WMLScript提供了豐富的函數(shù)功能,我們在WAP應用開發(fā)可以使用WMLScript來增強WML編程。因此,WMLScript成為擴展WML編程能力的主要開發(fā)工具。
  4.2 WMLScript的主要優(yōu)點及其字節(jié)碼解釋器
  WMLScript具有一套定義好的字節(jié)碼和一個解釋器參考結構。無線網(wǎng)絡傳輸中WMLScript的數(shù)據(jù)均以二進制格式進行傳輸,所以,用戶可以使用乍帶寬通信信道,從而能夠保持客戶端手機只需要最小限度的內(nèi)存。ECMAScript修改后得到的WMLScript能夠更快、更小、更容易的編譯程序為字節(jié)碼形式。所有這些特點,是WMLScript具備了WML所不能具備的很多優(yōu)點和功能。
  4.2.1 使用WMLScript的主要優(yōu)點
  WMLScript的設計宗旨是為WMLScript系統(tǒng)提供一般的腳本處理能力,使用WMLScript我們可以進一步補充基于XML的WML語言的編程功能,開發(fā)針對乍帶寬的網(wǎng)絡應用及內(nèi)容,如文本、圖像、選擇列表等,我們可以使用簡單的格式編寫出更靈活和更具可讀性的用戶界面。WMLScript具備的WML所不能具備的優(yōu)點和功能,主要包括如下幾個方面: 
 ?。?)檢查用戶輸入的合法性:
 ?。?)擴展用戶瀏覽器的功能,比如允許程序員開發(fā)手機的電話呼叫、發(fā)送短信息、存儲電話號碼、管理電話簿或SIM卡等;
 ?。?)生成用戶端的確認、提示、警告信息或操作對話框,并使之快速顯示在瀏覽器上;
 ?。?)在用戶瀏覽器的更改后,能夠對瀏覽器端的軟件和參數(shù)進行擴展與配置;
  (5)最大程度克服客戶端的乍帶寬通信連接限制,并提供豐富的程序功能;
 ?。?)補充WML并使之實現(xiàn)針對微型移動終端設備的多種服務,如支持高級用戶界面、增加客戶端智能型、提供用戶瀏覽器外圍功能的訪問能力,以及在服務器與客戶端瀏覽傳輸數(shù)據(jù)是減少帶寬占用等。
  4.2.2 WMLScript的字節(jié)碼解釋器
  在WMLScript的字節(jié)碼解釋器解釋之前,WMLScript語言編寫的文本格式的程序將被首先編譯為二進制格式的代碼。編譯時,編譯器通常先將WMLScript程序分成若干個編輯單位,每個單位的程序都包含一定數(shù)量的語句行和WMLScript函數(shù),然后,WMLScript的編譯器將按照這些編譯單位,逐一將WMLScript程序作為輸入內(nèi)容,而把對應的字節(jié)碼作為輸出內(nèi)容。當用戶通過WAP手機調(diào)用WMLScript程序時,編譯器的編碼功能即被激活、執(zhí)行。
  4.3 WMLScript基本規(guī)則
  WMLScript在許多基本規(guī)則方面沿用了WML的做法。不過,由于WMLScript是以C語言為藍本而指定的,所以它的語法特征和C語言非常相像。如果大家對C語言比較熟悉,那么學習和掌握這部分內(nèi)容應當是比較容易的。
  4.3.1 WMLScript與URL
  與WML一樣,WMLScript也沿用了WWW和HTML訪問資源的URL、HTTP等規(guī)范,并擴大了URL使用的范圍。在WMLScript中,不僅超鏈接、文件路徑即文件名可以作為URL處理,外部函數(shù)、訪問控制信息等也可以作為URL處理。
  為此,WMLScript采用了WML的變通方法,即改進HTML命名資源為值的方式,采用程序段錨點(Fragment Anchor)的形式來處理資源定位。程序段錨點根據(jù)文檔URL規(guī)則進行定義,并按照程序段標識符前加井字號(#)的方式書寫。使用程序段錨點,WMLScript程序可以在WMLScript編譯單位內(nèi)可任意指定的函數(shù),并可在調(diào)用該函數(shù)的同時傳遞所需的參數(shù)。
  4.3.2 詞法結構
  WMLScript編程中的詞法結構并不復雜,我們下面就從大小寫敏感、空格、換行、注釋即保留字等方面講解相關的具體規(guī)則。
 ?。?)內(nèi)容類型。WMLScript的內(nèi)容類型主要針對文件形式和二進制形式兩種情況,類型結構可以在服務器端進行指定,具體形式為:
  文本形式:text/vnd.wap.wmlscript;
  二進制形式:application/vnd.wap.wmlscriptc。
  具體指定方法我們在第4章已經(jīng)介紹過,這里不再重述。
  (2)大小寫敏感。WMLScript1.1是一種大小寫敏感的腳本語言。它所設計的各種關鍵字、變量和函數(shù)名都必須合理的使用大小寫。
 ?。?)空格和換行。一般情況下,WMLScript程序值形式將忽略所有的空格、制表符合換行符等。但如果把這些特殊字符通過代碼進行表述,或者作為字符串進行處理時,WMLScript將不再忽略它們。了如,字符串"Oct 28,2001"中含有空格,該空格在執(zhí)行時就不會被忽略,它與不含空格的字符串"Oct28,2001"是不同的。
 ?。?)注釋。與WML編程一樣,在WMLScript腳本程序中也可以加入注釋內(nèi)容。注釋內(nèi)容不被程序執(zhí)行,且注釋不能嵌套。WMLScript的注釋方法有兩種:
  其一,行注釋。即使用雙斜行號(//)引導以一行內(nèi)容,這一行內(nèi)容全部作為注釋內(nèi)容。如:
//這是以行注釋,由雙斜杠號開始到結束都是注釋。
  其二,塊選擇。即以符號“/*”開始,而以符號“/*”結束的期間所有內(nèi)容都是注釋內(nèi)容。如:
/*這就是塊注釋,加在中間的內(nèi)容就是注釋內(nèi)容*/
 ?。?)數(shù)據(jù)類型與直接編碼。WMLScript允許將4種類型的數(shù)據(jù)直接編碼并可嵌套并可嵌如在程序之中。直接編碼的4中數(shù)據(jù)類型為:整數(shù)、浮點數(shù)、字符串和布爾值。另外,“無效性”值也可直接編碼” 1. 整數(shù)。當以十進制、十六進制或八進制方式使用整數(shù)時,可對這類整數(shù)進行直接編碼。
  編程序時,十進制的數(shù)字均不以0開頭,只包含0~9的數(shù)值串;十六進制的數(shù)據(jù)以OX或者Ox開頭,只包含0~9、a~f或者A~F的字符串;八進制的數(shù)均以0開頭,只包含0~7的數(shù)字串。
  2.浮點數(shù)。浮點數(shù)通常定義為含有小數(shù)點的數(shù)字,可以包含小數(shù)和指數(shù)部分。浮點數(shù)的形式較多,可以使十進制的整數(shù)或浮點數(shù),可以是分數(shù),也可以是指數(shù);但一個浮點數(shù)必須至少有一個數(shù)。
  指數(shù)是以e或E開頭,后面跟著一個整數(shù)。指數(shù)是以10為底冪。例如:e0時10的零次冪,例如:e0時10的另次冪,e-2時10的負2次冪集等于0.01。指數(shù)可以帶符號,正好(+)或者減號(-),它們分別代表是正指數(shù)和負指數(shù)。
  3.字符串。字符串是指定義在成對的雙引號("")或單引號(‘ ')之間的內(nèi)容。
  由于WMLScript只允許使用成對的雙引號或但引號來定義字符串,所以程序中使用一個單引號或一個雙引號時就會出現(xiàn)編譯錯誤。
  考慮到有些特殊字符不能在字符串中直接顯現(xiàn)出來,所以WMLScript提供了轉譯序列來表示這些特殊字符。
  4.布爾型。它只是ture和false兩個數(shù)值,用于表示W(wǎng)MLScript中的“真值”或“假值”。布爾型數(shù)據(jù)可參與異、或等運算,具體規(guī)則我們后面介紹。
  5.無效型。也稱為“空類型”,它是WMLScript支持的一個表示無效值的量,以invalid表示。該兩與C語言中的NULL類似。
  4.保留字。WMLScript中定義有一個保留字集合,含有一些表示特殊意義的單詞這些次不能另外定義,也不能最為其他標識符。WMLScript中的保留字如下:
acces http agent if break isvalid continue meta header
div name div= path domain return else typeof while
equiv url extern use for user function var
  另外,WMLScript還為將來的版本預留了一些保留字,主要有:
case finally catch import class private const public debugger
sizeof default struct do super enum switch export throw
extends try
  WMLScript還有一些沒有使用的保留字:
delete null in this lib void new with
  7.標識符。WMLScript的標識符可以指定或命名3種元素:變量、函數(shù)和標注。標識符不能以數(shù)字開頭,但能一段下劃線(-)開頭,而且,標識符不能是WMLScript的保留字。例如,timeOfDay、speed 、quality、HOME_ADDRESS、_myName、__、varO等都是合法的標識符;而以數(shù)字或非短下劃線的特殊符號開頭的字串,以及保留字等都屬于不合法的標志賦,如while、for、if、my~name、$sys、123、3piecs、take.this等。
  由于WMLScript是嚴格區(qū)分大小寫的,所以字母相同但大小寫不同的標識符不是同一個標識,例如,Work和work就是不同的標識符。
  8.名稱空間。WMLScript提供了比較自由的名稱空間,同一標識符可以同時用作不同的目的。例如,作為某一函數(shù)名稱的標識符,還可以同時用作變量名、函數(shù)參數(shù)、程序標注等,使用時他們的屬性或值等并不相互影響。在下面的簡單的例程中,myTest這一標識符即用作了函數(shù)名,又用作了變量名、函數(shù)參數(shù)名、函數(shù)參數(shù)名、常量名。顯然,WMLScript的這一特定為我們編寫程序提供了很大的方便。
12下一頁閱讀全文

標簽:新疆 滄州 沈陽 樂山 上海 長治 紅河 河南

巨人網(wǎng)絡通訊聲明:本文標題《無線標記語言(WML)基礎之WMLScript 基礎第1/2頁》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266