二、窗口方法
窗口是瀏覽器與用戶交互的界面。利用JavaScript中的窗口方法和屬性,可以創建可控制窗口。在這一部分里,將介紹一些窗口方法和屬性。
1.預定義窗口(對話框)
JavaScript提供三個方法來產生"簡單"的窗口(或對話框):alert (),confirm()和promp t()。盡管我們無法控制這些對話框的位置,按鈕或大小,但它們提供了初步的機制來提示用戶或接收輸入。以下討論各方法。
alert() alert()方法建立了一個獨立的消息窗口,語法形式如下: alert("message") 其中"message"是要在提示窗口中顯示的文本串。
confirm() confirm()方法用于進行一個事件之前請求獲得用戶的認可。它給用戶以停止某個事件出現的機會。該方法的語法形式如下: confirm("message") 其中message是一個文本串。
prompt() prompt()方法接收用戶的反饋,用戶可以從鍵盤鍵入信息,或者如果他們接收一個默認值的話,可以用鼠標選取。該方法的語法形式如下: prompt("message") 如果想要指定一個默認值,可以用: prompt("message",imputDefault)其中"message"是文本或數字。用戶可以鍵入任何信息。因此,一個變量雖然希望輸入一個數字進行計算,也可能輸入給它的是文本。如果單擊了Cancel鍵和關閉鍵,pr ompt()返回空值。
2.定制窗口
上面的三種窗口雖然很簡單,但它們有一個共同的缺點是不靈活, 即無法改變它們的大小和風格。下面,我們來討論在JavaScript中如何定制窗口的問題。首先,我們應知道如何創建一個窗口。
open() open()方法將創建一個新窗口。使用該方法創建窗口與選擇File 菜單項的New Web Bro wser的效果是相似的。該方法的語法形式如下 : windowVar=window.open("URL","windowName") 或者也可以定義一個窗口的屬性: windowVar=window.open("URL","windowName","windowAttribut er")其中WindowName是要創建的窗口的名字。URL是一個文本串,指定當前新窗口創建時要調用的URL。如果沒有指定URL(使用空字符串"") ,那么窗口是空的。 windowName代表該窗口的名字。 windowFeatures是可以賦給窗口的可選屬性,比如一個工具條,位置,目錄,狀態條,菜單條,滾動條,大小可變的能力,寬度和高度(見附表)。設定它們時以逗號為分隔符,并在最外加上雙引號。
窗口屬性 這些屬性的使用形式如下: feeture=value 其中feature是所要選擇的屬性,value(除了width和height兩種屬性外)或是yes(或1)以激活該屬性,或是no(或0)以消除它。 width和height的語法形式如下: feature=pixels 其中pixels是任何正整數(或正整數變量),確定新窗口的大小(以像素為單位)。
close() 使用close()方法,它的語法形式如下: windowReference.close() 可以使用以下任何一個函數關閉當前窗口:window.close()、self.close()、close()。我們可以通過引用一個窗口的windowVar(該值是調用open()方法時產生的),來關閉一個獨立的窗口。比如:某個窗口創建時所用的命令是: WindowB=open(",","anotherwindow","windth=80,height=40); 我們可以在任何其它窗口中關閉它,使用命令: windowB.close() 關閉最頂層的窗口可以利用以下方法 top.close() 當然,如果要關閉當前窗口,我們可以使用任何自行關閉命令。
javascript為我們提供了一些非常有用的常用內部對象和方法。用戶不需要用腳本來實現這些功能。這正是基于對象編程的真正目的。
在javascript提供了string(字符串)、math(數值計算)和Date(日期)三種對象和其它一些相關的方法。從而為編程人員快速開發強大的腳本程序提供了非常有利的條件。
1、常用內部對象
在javascript中對于對象屬性與方法的引用,有兩種情況:其一是說該對象是靜態對象,即在引用該對象的屬性或方法時不需要為它創建實例;而另一種對象則在引用它的對象或方法是必須為它創建一個實例,即該對象是動態對象。
對javascript內部對象的引用,以是緊緊圍繞著它的屬性與方法進行的。因而明確對象的靜動性對于掌握和理解javascript內部對象是具有非常重要的意義。
1)、串對象
o string對象:內部靜態性。
o 訪問properties和methods時,可使用(.)運算符實現。
o 基本使用格式:objectName.prop/methods
(1)串對象的屬性
該對象只有一個屬性,即length。它表明了字符串中的字符個數,包括所有符號。
例:
mytest="This is a javascript"
mystringlength=mytest.length
最后mystringlength返回mytest字串的長度為20。
(2)串對象的方法
string對象的方法共有19個。主要用于有關字符串在Web頁面中的顯示、字體大小、字體顏色、字符的搜索以及字符的大小寫轉換。
其主要方法如下:
o 錨點anchor():該方法創建如用Html文檔中一樣的anchor標記。使用anchor如用Html中(A Name="")一樣。通過下列格式訪問:string.anchor(anchorName)。
o 有關字符顯示的控制方法
big字體顯示, Italics()斜體字顯示,bold()粗體字顯示,blink()字符閃爍顯示,small()字符用小體字顯示,fixed()固定高亮字顯示、fontsize(size)控制字體大小等。
o 字體顏色方法;fontcolor(color)
o 字符串大小寫轉換
toLowerCase()-小寫轉換,toUpperCase()大寫轉換。下列把一個給定的串分別轉換成大寫和小寫格式:
string=stringValue.toUpperCase和string=stringValue.toLowerCase。
o 字符搜索:indexOf[charactor,fromIndex]
從指定formIndtx位置開始搜索charactor第一次出現的位置。
返回字串的一部分字串:substring(start,end)
從start開始到end的字符全部返回。
2)、算術函數的math對象
功能:提供除加、減、乘、除以外的一引些自述運算。如對數,平方根等 。
靜動性:靜態對象
(1)主要屬性
math中提供了6個屬性,它們是數學中經常用到的常數E、以10為底的自然對數LN10、以2為底的自然對數LN2、3.14159的PI、1/2的平方根SQRT1-2,2的平方根為SQRT2。
(2)主要方法
絕對值:abs()
正弦余弦值:sin(),cos()
反正弦反余弦 :asin(), acos()
正切反正切:tan(),atan()
四舍五入:round()
平方根:sqrt()
基于幾方次的值:Pow(base,exponent)
...
3)、日期及時間對象
功能:提供一個有關日期和時間的對象。
靜動性:動態性,即必須使用New運算符創建一個實例。例:
MyDate=New Date()
Date對象沒有提供直接訪問的屬性。只具有獲取和設置日期和時間的方法。
日期起始值:1770年1月1日00:00:00。
1. 獲取日期的時間方法
getYear(): 返回年數
getMonth():返回當月號數
getDate(): 返回當日號數
getDay():返回星期幾
getHours():返回小時數
getMintes(:返回分鐘數
getSeconds():返回秒數
getTime() : 返回毫秒數
(2)設置日期和時間:
setYear();設置年
setDate():設置當月號數
setMonth():設置當月份數
setHours():設置小時數
setMintes():設置分鐘數
setSeconds():設置秒數
setTime ():設置毫秒數
...
2、javascript中的系統函數
javascript中的系統函數又稱內部方法。它提供了與任何對象無關的系統函數,使用這些函數不需創建任何實例,可直接用。
1.返回字符串表達式中的值:
方法名:eval(字串表達式),例:
test=eval("8+9+5/2");
2. 返回字符串ASCI碼:
方法名:unEscape (string)
3.返回字符的編碼:
方法名:escape(character)
4.返回實數:
parseFloat(floustring);
5.返回不同進制的數:
parseInt(numbestring ,rad.X)
其中radix是數的進制,numbs字符串數