本文將簡單介紹JavaScript中一些常用對象的屬性和方法,以及幾個有用的系統函數。
一、串方法
JavaScript有強大的串處理功能,有了這些串方法,才能編寫出豐富多彩的網頁。在這一部分裡,我們將介紹到如何使用與串對象有關的方法和屬性。
1.串對象的length屬性
串對象僅有一個屬性length,這個屬性值表示這個串所包括字符的相對數目。語法為: stringName.length
2.串對象的方法
JavaScript提供了多個串方法以幫助控制顯示信息。串方法可以分為幾個大類,如屬性方法、導航方法等等。下面我們將分類介紹。
(1)屬性方法 串的屬性方法指定了普通文本顯示在屏幕上的方式。它提供了一種理想的方式使主頁變得更有吸引力。
blink() blink()方法引起文本閃爍,語法形式如下: string.blink();
bold() bold()方法使串變為粗體。語法形式如下: string.bold();
fontcolor() fontcolor()方法可以改變單個串的顏色,或者在每次重新裝入頁面或事件發生時,改變顏色。同樣,這個方法也有一個相對應的HTML標識-- fontcolor()的語法是 string.fontcolor(color); 在這裡,color是一種顏色的合法表示。
italics() italics()方法把串變為斜體,以同其余文字區分開來,italics() 的語法如下: string.italics();
(2)大小寫方法 JavaScript嚴格區分字母的大小寫。為了方便地比較兩個串,就要把它們都轉化為大寫或小寫。串對象的大小寫方法就支持在大小寫之間轉換。
toLowerCase() tolowerCase()方法把一個給定的串中每個字符轉變成小寫狀態。語法形式如下: string=stringValue.toLowerCase();
toUpperCase() 與tolowerCase()方法相反是toUpperCase()方法,它把一個給定串轉變成大寫字符串。 string=stringValue.toUpperCase();
(3)操作方法 操作方法提供了許多種在一個文本串內查找字符串的方法,其中包括charAt()、indexO f()、LastIndexOf()和substring()四種方法。我們可以使用這些方法格式化和操作用戶輸入的串變量,其中charAt()和 substring()兩種方法從一個串中抽取一個或多個字符,剩下的兩個方法返回待查找值的第一個字符在串中出現位置的數字值。
charAt() charAt()方法從一個給定串中返回指定位置的字符。它的使用方法如下: string.charAt(index); 其中index是一個在0和小於串長度之間的一個數(串長度可以通過Length屬性得到),
substring() substring()方法從一個大串中返回它的一個子串。它的語法形式如下: string.substring(indexA,indexB) indexA和indexB兩者都是在0和串長度之間的數字值。它們是串的兩個下標。
indexOf() indexOf()方法返回在一個長串中與指定的串匹配的子串的位置。它從左到右地查找給定的串,語法形式如下: string.indexOf(searchValue,[fromIndex]); 其中string是indexOf()要在其中查找searchValue的串,而searc hValue是任何想要查找的字符或子串。 fromIndex是一個可選項,它指定查找開始的位置。fromIndex的范圍與charAt()和Subs tring()相似(0到length-1)。它不能大於或等於length,如果沒有指定fromIndex,該方法認為其缺省地?並查找整個串。 indexOf()的返回值是searchValue首次出現的第一個字符的偏移量(從串的開頭算起)。即使指定了fromIndex,該返回值仍是相對於串的開頭的(有可能在前面一些的地方出現的se archValue將被忽略)。
lastIndexOf() lastIndexOf()方法與IndexOf()方法類似,只是它從右到左地查找串。lastIndexOf()仍舊給出被查找串的首字符位置,而不是末尾字符的位置。 lastIndexOf()方法的語法形式如下: string.Last indexOf(searchValue); searchValue仍是想要查找的串。
(4)導航方法 使用超文本時會接觸到錨(anchor)和鏈路的概念。錨就如同在網頁中放置的書標(你可以很方便地回到那兒);鏈路是對另一頁面(或相同及不同頁面的錨)的指引。
anchor() anchor()方法用來設置一個錨,它的語法形式很簡單: string.anchor(anchorName); 考察下面的例子: var indexString="Index"; document.writeln(indexString.anchor("anchorName")); 這條語句在屏幕上打印文本Index;anchorName是這個錨真正的名字。像這樣的錨一般被鏈路用來跳轉到頁面中錨的實際位置。
link() link()的功能是跳轉到指定的目標。它相當於標准HTML引用(由HREF屬性指定的超文本引用)。它的語法形式也非常簡單: linkText.link(href) linkText是屏幕上的文本,href屬性不一定是一個錨,它也可以是一個合法的URL引用。下面的例子說明如何用link()來創建直接跳轉到前面創建的錨的鏈路; var indexStirng="Index" document.writeln(indexString.link("#"+"anchorName")+" ") 這條語句在屏幕上打印鏈路格式的文本Index(通常在下面加下劃線);anchorName是錨的實際的名字。當單擊這條鏈路時,這個錨將出現在浏覽器用戶窗口的頂部。請注意:要保證在同一文檔內部的錨的引用中加上#號。在加#號的時候,要將它用雙引號括起來並用加號與完整的引用連起來。可以參見前面的例子。如果省略了#號,鏈路的目標就是一個文件而不是一個錨。單擊這條鏈就會使浏覽器試圖裝入名為anchorName(在本例中)的文件。因為這一文件不存在,浏覽器將產生Notfound的錯誤信息。
二、窗口方法 窗口是浏覽器與用戶交互的界面。利用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字符串數