?? javascrip.txt
字號:
上一項:Javascript d... 下一項:HTM 標簽語言教程
10月17日
javascrip 教程
JavaScrip教程
第一講 JavaScript概況
隨著Internet技術的突飛猛進,各行各業都在加入Internet的行業中來。無論從管理方面,還是從商業角度來看,Internet都可以帶來無限生機。通過Internet,可以實現地區、集體乃至個人的連接,從而達到一種“統一的和諧”。那么怎樣把自己的或公司的信息資源加入到 WWW 服務器,是廣大用戶日益關心的問題。采用超鏈技術(超文本和超媒體技術)是實現這個目標最簡單的、最快速的手段和途徑。具體實現這種手段的支持環境,那就是HTML超文本標識語言。通過它們可制作所需的Web網頁。
通過超文本(Hyper Text)和超媒體(Hyper Media)技術結合超鏈接(Hyper link)的鏈接功能將各種信息組織成網絡結構(web),構成網絡文檔(Document),實現Internet上的“漫游”。通過HTML符號的描述就可以實現文字、表格、聲音、圖像、動畫等多媒體信息的檢索。
然而采用這種超鏈技術存在有一定的缺陷,那就是它只能提供一種靜態的信息資源,缺少動態的客戶端與服務器端的交互。雖然可通過CGI (Common Gateway Interface)通用網關接口實現一定的交互,但由于該方法編程較為復雜,因而在一段時間防礙了Internet技術的發展。而JavaScript的出現,無疑為Internet網上用戶帶來了一線生機。可以這樣說,JavaScript的出現是時代的需求,是當今的信息時代造就了JavaScript。
JavaScript的出現,它可以使得信息和用戶之間不僅只是一種顯示和瀏覽的關系,而是實現了一種實時的、動態的、可交式的表達能力。從而基于CGI靜態的HTML頁面將被可提供動態實時信息,并對客戶操作進行反應的Web頁面的取代。JavaScript腳本正是滿足這種需求而產生的語言。它深受廣泛用戶的喜愛的歡迎。它是眾多腳本語言中較為優秀的一種,它與WWW的結合有效地實現了網絡計算和網絡計算機的藍圖。無疑Java家族將占領
Internet網絡的主導地位。因此,盡快掌握JavaScript腳本語言編程方法是我們廣大網民所日益關心的。
一、什么是JavaScript
JavaScript是一種基于對象(Object)和事件驅動(Event Driven)并具有安全性能的腳本語言。使用它的目的是與HTML超文本標記語言、Java 腳本語言(Java小程序)一起實現在一個Web頁面中鏈接多個對象,與Web客戶交互作用。從而可以開發客戶端的應用程序等。它是通過嵌入或調入在標準的HTML語言中實現的。它的出現彌補了HTML語言的缺陷,它是Java與HTML折衷的選擇,具有以下幾個基本特點:
1.JavaScript是一種腳本編寫語言
JavaScript是一種腳本語言,它采用小程序段的方式實現編程。像其它腳本語言一樣,JavaScript同樣已是一種解釋性語言,它提供了一個易的開發過程。它的基本結構形式與C、C++、VB、Delphi十分類似。但它不像這些語言一樣,需要先編譯,而是在程序運行過程中被逐行地解釋。它與HTML標識結合在一起,從而方便用戶的使用操作。
2.是基于對象的語言。
JavaScript是一種基于對象的語言,同時以可以看作一種面向對象的。這意味著它能運用自己已經創建的對象。因此,許多功能可以來自于腳本環境中對象的方法與腳本的相互作用。
3.具有簡單性
JavaScript的簡單性主要體現在:首先它是一種基于Java基本語句和控制流之上的簡單而緊湊的設計, 從而對于學習Java是一種非常好的過渡。其次它的變量類型是采用弱類型,并未使用嚴格的數據類型。
4.具安全性
JavaScript是一種安全性語言,它不允許訪問本地的硬盤,并不能將數據存入到服務器上,不允許對網絡文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或動態交互。從而有效地防止數據的丟失。
5.具動態性的
JavaScript是動態的,它可以直接對用戶或客戶輸入做出響應,無須經過Web服務程序。它對用戶的反映響應,是采用以事件驅動的方式進行的。所謂事件驅動,就是指在主頁(Home Page)中執行了某種操作所產生的動作,就稱為“事件”(Event)。比如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發生后,可能會引起相應的事件響應。
6.跨平臺性
JavaScript是依賴于瀏覽器本身,與操作環境無關,只要能運行瀏覽器的計算機,并支持JavaScript的瀏覽器就可正確執行。從而實現了“編寫一次,走遍天下”的夢想。實際上JavaScript最杰出之處在于可以用很小的程序做大量的事。無須有高性能的電腦,軟件僅需一個字處理軟件及一瀏覽器,無須WEB服務器通道,通過自己的電腦即可完成所有的事情。
綜合所述JavaScript 是一種新的描述語言,它可以被箝入到 HTML 的文件之中。JavaScript語言可以做到回應使用者的需求事件 (如: form 的輸入) ,而不用任何的網路來回傳輸資料,所以當一位使用者輸入一項資料時,它不用經過傳給伺服端 (server)處理,再傳回來的過程,而直接可以被客戶端 (client) 的應用程式所處理。
JavaScript 和 Java 很類似,但到底并不一樣! Java 是一種比 JavaScript 更復雜許多的程式語言,而 JavaScript 則是相當容易了解的語言。JavaScript 創作者可以不那麼注重程式技巧,所以許多 Java 的特性在 Java Script 中并不支持。
二、JavaScript和Java的區別
雖然JavaScript與Java有緊密的聯系,但卻是兩個公司開發的不同的產品。Java是SUN公司推出的新一代面向對象的程序設計語言,特別適合于Internet應用程序開發;而JavaScript是Netscape公司的產品,其目的是為了擴展Netscape Navigator功能,而開發的一種可以嵌入Web頁面中的基于對象和事件驅動的解釋性語言, 它的前身是Live Script;而Java的前身是Oak語言。下面對兩種語言間的異同作如下比較:
1.基于對象和面向對象
Java是一種真正的面向對象的語言,即使是開發簡單的程序,必須設計對象。JavaScript是種腳本語言,它可以用來制作與網絡無關的,與用戶交互作用的復雜軟件。它是一種基于對象(Object Based)和事件驅動(Event Driver)的編程語言。因而它本身提供了非常豐富的內部對象供設計人員使用。
2.解釋和編譯
兩種語言在其瀏覽器中所執行的方式不一樣。Java的源代碼在傳遞到客戶端執行之前,必須經過編譯,因而客戶端上必須具有相應平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實現獨立于某個特定的平臺編譯代碼的束縛。
JavaScript是一種解釋性編程語言,其源代碼在發往客戶端執行之前不需經過編譯,而是將文本格式的字符代碼發送給客戶編由瀏覽器解釋執行。
3.強變量和弱變量
兩種語言所采取的變量是不一樣的。Java采用強類型變量檢查,即所有變量在編譯之前必須作聲明。如:
Integer x;
String y;
x=1234;
x=4321;
其中X=1234說明是一個整數,Y=4321說明是一個字符串。JavaScript中變量聲明,采用其弱類型。即變量在使用前不需作聲明,而是解釋器在運行時檢查其數據類型,如:
x=1234;
y="4321";
前者說明x為其數值型變量,而后者說明y為字符型變量。
4.代碼格式不一樣
Java是一種與HTML無關的格式,必須通過像HTML中引用外媒體那么進行裝載,其代碼以字節代碼的形式保存在獨立的文檔中。JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動態裝載。編寫HTML文檔就像編輯文本文件一樣方便。
5.嵌入方式不一樣
在HTML文檔中,兩種編程語言的標識不同,JavaScript使用<Script>...</Script>來標識,而Java使用<applet>...</applet>來標識。
6.靜態聯編和動態聯編
Java采用靜態聯編,即Java的對象引用必須在編譯時的進行,以使編譯器能夠實現強類型檢查。JavaScript采用動態聯編,即JavaScript的對象引用在運行時進行檢查,如不經編譯則就無法實現對象引用的檢查。
三、JavaScript程序運行環境
軟件環境:
Windows 95/98或Windows NT。
Netscape Navigator x.0或Internet Explorer x.0。
用于編輯HTML文檔的字符編輯器(WS、WPS、Notepad、WordPad等)或HTML文檔編輯器。
硬件配置:
首先必須具備運行Windows 95/98或Windows NT的基本硬件配置環境。推薦: 基本內存32M。
CRT只少需要256顏色,分辨率在640X480以上。
CPU只少233以上。
鼠標和其它外部設置(根據需要選用)。
四、編寫第一個簡單的JavaScript程序
下面我們通過一個例子,編寫第一個JavaScript程序。通過它可說明JavaScript的腳本是怎樣被嵌入到HTML文檔中的。
gx1.html文檔:
<html>
<head>
<Script Language ="JavaScript">
// JavaScript Appears here.
alert("第一個JavaScript例子!");
alert("歡迎你進入JavaScript世界!");
alert("讓我們共同學習JavaScript知識!");
</Script>
</head>
</html>
在Internet Explore5.0中運行行后的結果見(圖1-1)所示。
(圖1-1)(圖1-2)(圖1-3) 程序運行的結果
說明:
gx1.html是HTML文檔,其標識格式為標準的HTML格式;如同HTML標識語言一樣, JavaScript程序代碼是一些可用字處理軟件瀏覽的文本,它在描述頁面的HTML相關區域出現。 JavaScript代碼由 <Script Language ="JavaScript">...</Script>說明。
在標識<Script Language ="JavaScript">...</Script>之間就可加入JavaScript腳本。alert()是JavaScript的窗口對象方法,其功能是彈出一個具有OK對話框并顯示()中的字符串。 通過<!-- ...//-->標識說明:若不認識JavaScript代碼的瀏覽器,則所有在其中的標識均被忽略;若認識,則執行其結果。使用注釋這是一個好的編程習慣,它使其他人可以讀懂你的語言。 JavaScript 以 </Script> 標簽結束。
從上面的實例分析中我們可以看出,編寫一個JavaScript程序確實非常容易的。
第二講 JavaScript基本數據結構
JavaScript提供腳本語言的編程與C++非常相似,它只是去掉了C語言中有關指針等容易產生的錯誤,并提供了功能強大的類庫。對于已經具備C++或C語言的人來說,學習JavaScript腳本語言是一件非常輕松愉快的事。
一、JavaScript代碼的加入
JavaScript的腳本包括在HTML中,它成為HTML文檔的一部分。與HTML標識相結合,構成了一個功能強大的Internet網上編程語言。可以直接將JavaScript腳本加入文檔:
<Script Language ="JavaScript">
JavaScript語言代碼;
JavaScript 語言代碼;
....
</Script>
說明:
通過標識<Script>...</Script>指明JavaScript腳本源代碼將放入其間。 通過屬性Language="JavaScript"說明標識中是使用的何種語言,這里是JavaScript語言, 表示在JavaScript中使用的語言。下面是將JavaScript腳本加入Web文檔中的例子:
gx2.html
<HTML>
<Head>
<Script Language ="JavaScript">
document. Write("這是JavaScript教程");
16:59 | 添加評論 | 閱讀評論 (4) | 引用通告 (0) | 寫入日志
評論(沒有名稱) (沒有名稱)
圖4-1)所示:
圖4-1
范例2:用javascript編的寄信的范例:
<html>
<body bgcolor="#FFFFFF">
<script language="Javascript">
var mailsys="Netscape mail";
var author="gx";
if (author == "gx"){
phrompt=prompt;
snarkconf=confirm;
}
function mailsome1(){
who=phrompt("請鍵入信箱住址: ","gxpaper@163.net");
what=phrompt("請建入主題: ","問候");
if (snarkconf("你確定要送信給 "+who+" 而主題是 "+what+"?")==true){
parent.location.href='mailto:'+who+'?subject='+what+'';
}
}
</script>
<p align="center"><a href="javascript:mailsome1()"><font size="4">寄一封信</font></a></p>
<form>
<p align="center"><input type="button" value="寄信"
onclick="mailsome1()"> </p>
</form>
</body>
</html>
運行后如(圖4-2)所示。
(圖4-2)
本講介紹了基于對象的JavaScript中常用內部對象屬性、方法的使用。
通過這四篇JavaScript的講述,我想各位對JavaScript已經有了較初步的了解,有關JavaScript進一步的知識,必須通過實踐去掌握了。
10月17日 17:03
(http://chfchf.spaces.live.com/)
(沒有名稱) (沒有名稱)
組的下標值,否則若超出范圍,則就會發生錯誤。而使For...in語句,則根本不需要知道對象屬性的個數,見下:
Function showData(object)
for(var prop in object)
document.write(object[prop]);
使用該函數時,在循環體中,For自動將的屬性取出來,直到最后為此。
(2)with語句
使用該語句的意思是:在該語句體內,任何對變量的引用被認為是這個對象的屬性,以節省一些代碼。
with object{
...}
所有在with語句后的花括號中的語句,都是在后面object對象的作用域的。
(3)this關鍵字
this是對當前的引用,在JavaScript由于對象的引用是多層次,多方位的,往往一個對象的引用又需要對另一個對象的引用,而另一個對象有可能又要引用另一個對象,這樣有可能造成混亂,最后自己已不知道現在引用的那一個對象,為此JavaScript提供了一個用于將對象指定當前對象的語句this。
(4)New運算符
雖然在JavaScript中對象的功能已經是非常強大的了。但更強大的是設計人員可以按照需求來創建自己的對象,以滿足某一特定的要求。使用New運算符可以創建一個新的對象。其創建對象使用如下格式:
Newobject=NEW Object(Parameters table);
其中Newobject創建的新對象:object是已經存在的對象; parameters table參數表;new是JavaScript中的命令語句。如創建一個日期新對象
newData=New Data()
birthday=New Data (December 12.1998)
之后就可使NewData、birthday作為一個新的日期對象了。
4.對象屬性的引用
對象屬性的引用可由下列三種方式之一實現:
(1)使用點(.)運算符
university.Name=“湖北”
university.city=“武漢市”
university.Date="1999"
其中university是一個已經存在的對象,Name、City、Date是它的三個屬性,并通過操
作對其賦值。
(2)通過對象的下標實現引用
university[0]=“湖北省”
university[1]=“武漢市”
university[2]="1999"
通過數組形式的訪問屬性,可以使用循環操作獲取其值。
function showunievsity(object)
for (var j=0;j<2; j++)
document.write(object[j])
若采用For...in則可以不知其屬性的個數后就可以實現:
Function showmy(object)
for (var prop in this)
docament.write(this[prop]);
(3)通過字符串的形式實現
university["Name"]=“湖北”
university["City"]=“武漢市”
university["Date"]="1999"
5.對象的方法的引用
在JavaScript中對象方法的引用是非常簡單的。ObjectName.methods()
實際上methods()=FunctionName方法實質上是一個函數。 如引用university對象中的showmy()方法,則可使用:
document.write (university.showmy())
或:document.write(university)
如引用math內部對象中cos()的方法則:
with(math)
document.write(cos(35));
document.write(cos(80));
若不使用with則引用時相對要復雜些:
document.write(Math.cos(35))
document.write(math.sin(80))
二、常用對象的屬性和方法
JavaScript為我們提供了一些非常有用的常用內部對象和方法。用戶不需要用腳本來實現這些功能。這正是基于對象編程的真正目的。在JavaScript提供了string(字符串)、math(數值計算)和Date(日期)三種對象和其它一些相關的方法。從而為編程人員快速開發強大的腳本程序提供了非常有利的條件。
1.常用內部對象
在JavaScript中對于對象屬性與方法的引用,有兩種情況:其一是說該對象是靜態對象,即在引用該對象的屬性或方法時不需要為它創建實例;而另一種對象則在引用它的對象或方法是必須為它創建一個實例,即該對象是動態對象。對JavaScript內部對象的引用,以是緊緊圍繞著它的屬性與方法進行的。因而明確對象的靜動性對于掌握和理解JavaScript內部對象是具有非常重要的意義。
(1)串對象
string對象:內部靜態性。訪問properties和methods時,可使用(.)運算符實現。
基本使用格式:objectName.prop/methods
a 串對象的屬性
該對象只有一個屬性,即length。它表明了字符串中的字符個數,包括所有符號。例:
mytest="This is a JavaScript"
mystringlength=mytest.length
最后mystringlength返回mytest字串的長度為20。
b 串對象的方法
string對象的方法共有19個。主要用于有關字符串在Web頁面中的顯示、字體大小、字體顏色、字符的搜索以及字符的大小寫轉換。其主要方法如下:
錨點anchor():該方法創建如用Html文檔中一樣的anchor標記。使用anchor如用Html中(A Name="")一樣。通過下列格式訪問:string.anchor(anchorName)。 有關字符顯示的控制方法:
big字體顯示, Italics()斜體字顯示,bold()粗體字顯示,blink()字符閃爍顯示,small()字符用小體字顯示,fixed()固定高亮字顯示、fontsize(size)控制字體大小等。字體顏色方法;fontcolor(color)字符串大小寫轉換toLowerCase()-小寫轉換,toUpperCase()大寫轉換。下列把一個給定的串分別轉換成大寫和小寫格式:string=stringValue.toUpperCase和string=stringValue.toLowerCase。
字符搜索:indexOf[charactor,fromIndex]
從指定formIndtx位置開始搜索charactor第一次出現的位置。返回字串的一部分字串:substring(start,end)
從start開始到end的字符全部返回。
(2)算術函數的math對象
功能:提供除加、減、乘、除以外的一引些自述運算。如對數,平方根等 。
靜動性:靜態對象
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -