?? javascrip.txt
字號:
}
function rainbow(text){
var color_d1;
var allstring="";
for(i=0;i<text.length;i=i+2){
color_d1=255*Math.sin(i/(text.length/3));
color_h1=hexfromdec(color_d1);
allstring+="<FONT COLOR="+color_h1+"ff"+color_h1+">"+text.substring(i,i+2)+"</FONT>";
}
return allstring;
}
function sizefont(text){
var color_d1;
var allstring="";
var flag=0;
for(i=0,j=0;i<text.length;i=i+1){
if (flag==0) {
j++;
if (j>=7) {
flag=1;}}
if (flag==1) {
j=j-1;
if (j<=0) {
flag=0; }}
allstring+="<FONT SIZE="+ j + ">" + text.substring(i,i+1) + "</FONT>";
}
return allstring;
}
document.write("<font size=8><CENTER>")
document.write("<BR><BR>")
document.write( sizefont("這是一個獲取WEB瀏覽器的程序"))
document.write("</CENTER></font>")
document.write("瀏覽器名稱: "+navigator.appName+"<br>");
document.write("版本號: "+navigator.appVersion+"<br>");
document.write("代碼名字: "+navigator.appCodeName+"<br>");
document.write("用戶代理標識: "+navigator.userAgent);
</script>
<body>
</body>
</html>
輸出結果(圖3-3)所示。
(圖3-3)
本講介紹了JavaScript程序設計的有關內容。程序流、函數、事件是我們學習掌握JavaScript編程的重點。
第四講 基于對象的JavaScript語言
JavaScript語言是基于對象的(Object-Based),而不是面向對象的(object-oriented)。之所以說它是一門基于對象的語言,主要是因為它沒有提供象抽象、繼承、重載等有關面向對象語言的許多功能。而是把其它語言所創建的復雜對象統一起來,從而形成一個非常強大的對象系統。
雖然JavaScript語言是一門基于對象的,但它還是具有一些面向對象的基本特征。它可以根據需要創建自己的對象,從而進一步擴大JavaScript的應用范圍,增強編寫功能強大的Web文檔。
一、對象的基礎知識
1.對象的基本結構
JavaScript中的對象是由屬性(properties)和方法(methods)兩個基本的元素的構成的。前者是對象在實施其所需要行為的過程中,實現信息的裝載單位,從而與變量相關聯;后者是指對象能夠按照設計者的意圖而被執行,從而與特定的函數相聯。
2.引用對象的途徑
一個對象要真正地被使用,可采用以下幾種方式獲得:
引用JavaScript內部對象;由瀏覽器環境中提供;創建新對象。
這就是說一個對象在被引用之前,這個對象必須存在,否則引用將毫無意義,而出現錯誤信息。從上面中我們可以看出JavaScript引用對象可通過三種方式獲取。要么創建新的對象,要么利用現存的對象。
3.有關對象操作語句
JavaScript不是一純面向對象的語言,它設有提供面向對象語言的許多功能,因此JavaScript設計者之所以把它你“基于對象”而不是面向對象的語言,在JavaScript中提供了幾個用于操作對象的語句和關鍵字及運算符。
(1)For...in語句
格式如下:For(對象屬性名 in 已知對象名)
說明: 該語句的功能是用于對已知對象的所有屬性進行操作的控制循環。它是將一個已知對象的所有屬性反復置給一個變量;而不是使用計數器來實現的。 該語句的優點就是無需知道對象中屬性的個數即可進行操作。
例:下列函數是顯示數組中的內容:
Function showData(object)
for (var X=0; X<30;X++)
document.write(object);
10月17日 17:01
(http://chfchf.spaces.live.com/)
(沒有名稱) (沒有名稱)
document. close();
</Script>
</Head>
</HTML>
在瀏覽器的窗口中調用gx2.html,則顯示“這是JavaScript教程”字串。見(圖2-1)所示。
(圖2-1)
說明:
Document. write()是文檔對象的輸出函數,其功能是將括號中的字符或變量值輸出到窗口;document. close()是將輸出關閉??蓪?lt;Script>...</Script>標識放入head>.. </Head>或<Body> ...</Body>之間。將
JavaScript標識放置<Head>... </Head>在頭部之間,使之在主頁和其余部分代碼之前裝載,從而可使代碼的功能更強大;可以將JavaScript標識放置在<Body>... </Body>主體之間以實現某些部分動態地創建文檔。
二、基本數據類型
JavaScript腳本語言同其它語言一樣,有它自身的基本數據類型、表達式和算術運算符以及程序的基本框架結構。JavaScript提供了四種基本的數據類型用來處理數字和文字, 而變量提供存放信息的地方, 表達式則可以完成較復雜的信息處理。
1.基本數據類型
在JavaScript中四種基本的數據類型:數值(整數和實數)、字符串型(用“”號或‘’括起來的字符或數值)、布爾型(使True或False表示)和空值。在JavaScript的基本類型中的數據可以是常量,也可以變量。由于JavaScript采用弱類型的形式,因而一個數據的變量或常量不必首先作聲明,而是在使用或賦值時確定其數據的類型的。當然也可以先聲明該數據的類型,它是通過在賦值時自動說明其數據類型的。
2.常量
(1)整型常量
JavaScript的常量通常又稱字面常量,它是不能改變的數據。其整型常量可以使用十六進制、八進制和十進制表示其值。
(2)實型常量
實型常量是由整數部分加小數部分表示,如12.32、193.98 ??梢允褂每茖W或標準方法表示:5E7、4e5等。
(3)布爾值
布爾常量只有兩種狀態:True或False。 它主要用來說明或代表一種狀態或標志,以說明操作流程。它與C++是不一樣的,C++可以用1或0表示其狀態,而JavaScript只能用True或False表示其狀態。
(4)字符型常量
使用單引號(‘)或雙引號(“)括起來的一個或幾個字符。如 "This is a bookof JavaScript "、"3245"、"ewrt234234" 等。
(5)空值
JavaScript中有一個空值null,表示什么也沒有。如試圖引用沒有定義的變量,則返回一個Null值。
(6)特殊字符
同C語言一樣,JavaScript中同樣也有些以反斜杠(/)開頭的不可顯示的特殊字符,通常稱為控制字符。。
3.變量
變量的主要作用是存取數據、提供存放信息的容器。對于變量必須明確變量的命名、變量的類型、變量的聲明及其變量的作用域。
(1)變量的命名
JavaScript中的變量命名同其計算機語言非常相似,這里要注意以下兩點:
a 必須是一個有效的變量,即變量以字母開頭,中間可以出現數字如test1、 text2等。除下劃線(-)作為連字符外,變量名稱不能有空格、(+)、(-)、(,)或其它符號。
b 不能使用JavaScript中的關鍵字作為變量。
在JavaScript中定義了40多個類鍵字,這些關鍵是JavaScript內部使用的,不能作為變量的名稱。如Var、int、double、true不能作為變量的名稱。
在對變量命名時,最好把變量的意義與其代表的意思對應起來,以免出現錯誤。
(2)變量的類型
在JavaScript中,變量可以用命令Var作聲明:
var mytest;該例子定義了一個mytest變量。但沒有賦予它的值。Var mytest=”This is a book”該例子定義了一個mytest變量, 同時賦予了它的值。在JavaScript中,變量以可以不作聲明,而在使用時再根據數據的類型來確其變量的類型。如:
x=100
y="125"
xy= True
cost=19.5等。
其中x整數,y為字符串,xy為布爾型,cost為實型。
(3)變量的聲明及其作用域
JavaScript變量可以在使用前先作聲明,并可賦值。通過使用var關鍵字對變量作聲明。對變量作聲明的最大好處就是能及時發現代碼中的錯誤;因為JavaScript是采用動態編譯的,而動態編譯是不易發現代碼中的錯誤,特別是變量命名的方面。
對于變量還有一個重要性──那就是變量的作用域。在JavaScript中同樣有全局變量和局部變量。全局變量是定義在所有函數體之外,其作用范圍是整個函數;而局部變量是定義在函數體之內,只對其該函數是可見的,而對其它函數則是不可見的。
三、表達式和運算符
1.表達式
在定義完變量后,就可以對它們進行賦值、改變、計算等一系列操作,這一過程通常又叫稱一個叫表達式來完成,可以說它是變量、常量、布爾及運算符的集合,因此表達式可以分為算術表述式、字串表達式、賦值表達式以及布爾表達式等。
2.運算符
運算符完成操作的一系列符號,在JavaScript中有算術運算符,如+、-、*、/等;有比較運算符如!=、==等; 有邏輯布爾運算符如!(取反)、|、||; 有字串運算如+ 、 +=等。
在JavaScript主要有雙目運算符和單目運算符。其雙目運算符由下列組成: 操作數1 運算符 操作數2
即由兩個操作數和一個運算符組成。如50+40、"This"+"that"等。單目運算符,只需一個操作數,其運算符可在前或后。
(1)算術運算符
JavaScript中的算術運算符有單目運算符和雙目運算符。
a 雙目運算符:
+(加) 、-(減)、 *(乘)、 /(除)、 %(取模) 、|(按位或)、 &( 按位與)、
<<(左移)、 >>(右移)、 >>>(右移,零填充)。
b 單目運算符:
-(取反)、~(取補)、++(遞加1)、--(遞減1)。
(2)比較運算符
比較運算符它的基本操作過程是,首先對它的操作數進行比較,爾后再返回一個true或False值,有8個比較運算符:
<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于)。
(3)布爾邏輯運算符
在JavaScript中增加了幾個布爾邏輯運算符:!(取反)、&=(與之后賦值)、 &(邏輯與)、 |=(或之后賦值)、 |(邏輯或)、 ^=(異或之后賦值)、 ^(邏輯異或)、 ?:(三目操作符)、||(或)、==(等于)、|=(不等于)。
其中三目操作符主要格式如下:操作數?結果1:結果2
若操作數的結果為真,則表述式的結果為結果1,否則為結果2。
四、范例
下面是一個跑馬燈效果的JavaScript文檔。
gx2_1.html
<html>
<head>
<script Language="JavaScript">
var msg="這是一個跑馬燈效果的JavaScript文檔";
var interval = 100;
var spacelen = 120;
var space10=" ";
var seq=0;
function Scroll() {
len = msg.length;
window.status = msg.substring(0, seq+1);
seq++;
if ( seq >= len ) {
seq = spacelen;
window.setTimeout("Scroll2();", interval );
}else
window.setTimeout("Scroll();", interval );
}function Scroll2() {
var out="";
for (i=1; i<=spacelen/space10.length; i++) out +=
space10;
out = out + msg;
len=out.length;
window.status=out.substring(seq, len);
seq++;
if ( seq >= len ) { seq = 0; };
window.setTimeout("Scroll2();", interval );
}Scroll();
</script>
<body>
</body>
</html>
如(圖2-2)所示
(圖2-2)
本講介紹了JavaScript腳本是如何加入Web頁面, 并學習了JavaScript語言中的基本數據類型、變量、常量、操作運算符等。從本講中的內容中可以看出,對于已經掌握C++語言的人來說,學習JavaScript真是一件非常輕松愉快的事。
第三講 JavaScript程序構成
JavaScript腳本語言的基本構成是由控制語句、函數、對象、方法、屬性等,來實現編程的。
一、程序控制流
在任何一種語言中,程序控制流是必須的,它能使得整個程序減小混亂,使之順利按其一定的方式執行。下面是JavaScript常用的程序控制流結構及語句:
1.if條件語句
基本格式
if(表述式)
語句段1;
......
else
語句段2;
.....
功能:若表達式為true,則執行語句段1;否則執行語句段2。
說明: if -else 語句是JavaScript中最基本的控制語句,通過它可以改變語句的執行順序。表達式中必須使用關系語句,來實現判斷,它是作為一個布爾值來估算的。它將零和非零的數分別轉化成false和true。若if后的語句有多行,則必須使用花括號將其括起來。
if語句的嵌套
if(布爾值)語句1;
else(布爾值)語句2;
else if(布爾值)語句3;
……
else 語句4;
在這種情況下,每一級的布爾表述式都會被計算,若為真,則執行其相應的語句,否則執行else后的語句2.For循環語句
基本格式
for(初始化;條件;增量)語句集;
功能:實現條件循環,當條件成立時,執行語句集,否則跳出循環體。
說明:初始化參數告訴循環的開始位置,必須賦予變量的初值;
條件:是用于判別循環停止時的條件。若條件滿足,則執行循環體,否則 跳出。
增量:主要定義循環控制變量在每次循環時按什么方式變化。
三個主要語句之間,必須使用逗號分隔。
3.while循環
基本格式
while(條件)語句集;該語句與For語句一樣,當條件為真時,重復循環,否則退出循環。
For與while語句:兩種語句都是循環語句,使用For語句在處理有關數字時更易看懂,也較緊湊;而
while循環對復雜的語句效果更特別。
4.break和continue語句
與C++語言相同,使用break語句使得循環從For或while中跳出,continue使得跳過循環內剩余的語句而進入下一次循環。
二、函數
函數為程序設計人員提供了一個豐常方便的能力。通常在進行一個復雜的程序設計時,總是根據所要完成的功能,將程序劃分為一些相對獨立的部分,每部分編寫一個函數。從而,使各部分充分獨立,任務單一,程序清晰,易懂、易讀、易維護。JavaScript函數可以封裝那些在程序中可能要多次用到的模塊。并可作為事件驅動的結果而調用的程序。從而實現一個函數把它與事件驅動相關聯
10月17日 17:00
(http://chfchf.spaces.live.com/)
添加評論引用通告此日志的引用通告 URL 是:
http://chfchf.spaces.live.com/blog/cns!bfa08c6507466239!127.trak
引用此項的網絡日志
無
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -