官术网_书友最值得收藏!

2.3 編寫第一個JavaScript程序

下面通過一個簡單的JavaScript程序,使讀者對編寫和運行JavaScript程序的整個過程有一個初步的認識。

2.3.1 編寫JavaScript程序

【例2.4】下面應(yīng)用Dreamweaver編輯器編寫第一個JavaScript程序。(實例位置:光盤\TM\sl\2\4)

(1)啟動Dreamweaver編輯器,選擇“文件”/“新建”命令,打開“新建文檔”對話框,在“常規(guī)”選項卡中選擇“基本頁”/JavaScript命令,然后,單擊“創(chuàng)建”按鈕,即可成功創(chuàng)建一個JavaScript文件。

(2)JavaScript的程序代碼必須置身于<script language="javascript"></script>之間。在<body>標記中輸入如下代碼:

        <script language="javascript">
            alert("我喜愛JavaScript語言!");
        </script>

在Dreamweaver中輸入JavaScript腳本程序的運行結(jié)果如圖2.18所示。

圖2.18 在Dreamweaver中輸入JavaScript腳本程序

JavaScript腳本在HTML文件中的位置有3種。

在HTML的<body>標記中的任何位置。如果所編寫的JavaScript程序用于輸出網(wǎng)頁的內(nèi)容,應(yīng)該將JavaScript程序置于HTML文件中需要顯示該內(nèi)容的位置。

在HTML的<head>標記中。如果所編寫的JavaScript程序需要在某一個HTML文件中多次使用,那么,就應(yīng)該編寫JavaScript函數(shù)(function),并將函數(shù)置身于該HTML的<head>標記中。

        <script language="javascript">
        function check(){
            alert("我被調(diào)用了");
        }
        </script>

使用時直接調(diào)用該函數(shù)名就可以了。

        <input type="submit"value="提交"onClick="check()">

單擊“提交”按鈕,調(diào)用check()函數(shù)。

在一個js的單獨文件中。如果所編寫的JavaScript程序需要在多個HTML文件中使用,或者,所編寫的JavaScript程序內(nèi)容很長,這時,就應(yīng)該將這段JavaScript程序置于單獨的js文件中,然后在所需要的HTML文件a.html中,通過<script>標記包含該js文件。如:

        <script src="ch1-1.js"></script>

被包含的ch1-1.js文件代碼如下。

        document.write(’這是外部文件中JavaScript代碼!');

注意

在外部的JavaScript程序文件“ch1-1.js”中不必使用<script>標記。

(3)雖然大多數(shù)瀏覽器都支持JavaScript,但也有少部分瀏覽器不支持JavaScript,還有些支持JavaScript的瀏覽器為了安全問題關(guān)閉了對<JavaScript>的支持。如果遇到不支持JavaScript腳本的瀏覽器,網(wǎng)頁會達不到預(yù)期效果或出現(xiàn)錯誤。解決這個問題可以使用以下兩種方法。

HTML注釋符號。HTML注釋符號是以“<!--”開始以“-->”結(jié)束的。JavaScript能識別HTML注釋的開始部分“<!--”,但不能識別HTML注釋的結(jié)束部分“-->”,如同使用“//”進行單行注釋一樣。因此,如果在此注釋符號內(nèi)編寫JavaScript腳本,對于不支持JavaScript的瀏覽器,將會把編寫的JavaScript腳本作為注釋處理。

<noscript>標記。如果當前瀏覽器支持JavaScript腳本,那么該瀏覽器將會忽略<noscript>…</noscript>標記之間的任何內(nèi)容。如果瀏覽器不支持JavaScript腳本,那么瀏覽器將會把這兩個標記之間的內(nèi)容顯示出來。通過此標記可以提醒瀏覽者當前使用的瀏覽器是否支持JavaScript腳本。

(4)JavaScript腳本語言區(qū)分字母大小寫。

(5)在創(chuàng)建好JavaScript程序后,選擇“文件”/“保存”命令,在彈出的“另存為”對話框中,輸入文件名,將其保存為.html格式或.htm格式,如圖2.19所示。

圖2.19 “另存為”對話框

(6)保存完.html格式后,文件圖標將會變成一個IE瀏覽器的圖標

2.3.2 運行JavaScript程序

運行用JavaScript編寫的程序需要能支持JavaScript語言的瀏覽器。Netscape公司Navigator 3.0以上版本的瀏覽器都能支持JavaScript程序,微軟公司Internet Explorer 3.0以上版本的瀏覽器基本上支持JavaScript。

雙擊2.3.1小節(jié)例2.4保存的“TM\sl\2\4\index.html”文件,在瀏覽器中輸出運行結(jié)果,如圖2.20所示。

圖2.20 編寫第一個JavaScript程序

說明

在IE瀏覽器中,選擇“查看”/“源文件”命令,可以查看到程序生成的HTML源代碼。在客戶端查看到的源代碼是經(jīng)過瀏覽器解釋的HTML代碼,如果將JavaScript腳本存儲在單獨的文件中,那么在查看源文件時不會顯示JavaScript程序源代碼。

2.3.3 調(diào)試JavaScript程序

程序出錯類型分為語法錯誤和邏輯錯誤兩種。

1.語法錯誤

在程序開發(fā)中使用不符合某種語言規(guī)則的語句而產(chǎn)生的錯誤稱為語法錯誤。例如,錯誤地使用了JavaScript的關(guān)鍵字,錯誤地定義了變量名稱等。這時,當瀏覽器運行JavaScript程序時就會報錯。

例如,將2.3.1節(jié)例2.4的程序中第11行中的語句改寫成下述語句,即將第一個字符由小寫字母改成大寫字母。

        Alert("我喜愛JavaScript語言!");

保存該文件后再次在瀏覽器中運行,程序就會出錯。

運行本程序,將會彈出如圖2.21所示的錯誤信息。

圖2.21 在IE瀏覽器中調(diào)試JavaScript

2.邏輯錯誤

有些時候,程序中不存在語法錯誤,也沒有執(zhí)行非法操作的語句,可是程序運行的結(jié)果卻是不正確的,這種錯誤叫做邏輯錯誤。邏輯錯誤對于編譯器來說并不算錯誤,但是由于代碼中存在的邏輯問題,導(dǎo)致運行結(jié)果沒有得到期望的結(jié)果。邏輯錯誤在語法上是不存在錯誤的,但是從程序的功能上看是Bug。它是最難調(diào)試和發(fā)現(xiàn)的Bug。因為它們不會拋出任何錯誤信息。唯一能看到的就是程序的功能(或部分功能)沒有實現(xiàn)。

例如,某商城實現(xiàn)商品優(yōu)惠活動,如果用戶是商城的會員,那么商品打八五折,代碼如下。

        <script language="javascript">
        user="會員";
        if(user=="會員"){
            price=485*8.5;                        //485是商品價格,8.5是打的八五折
            alert("商品的會員價格是:"+price);     //輸出商品的會員價
        }
        </script>

運行程序時,程序沒有彈出錯誤信息。但是當用戶為商城的會員時,商品價格乘以8.5,相當于,商品不但沒有打折扣,反而是原價的8.5倍,這一點就沒有符合要求,屬于邏輯錯誤,應(yīng)乘以0.85才正確。

在實現(xiàn)動態(tài)的Web編程時,通常情況下,數(shù)據(jù)表中均是以8.5進行存儲,這時在程序中就應(yīng)該再除以10,這樣,就相當于原來的商品價格乘以0.85。正確的代碼為:

        price=485*8.5/10;                         //485是商品價格,"8.5/10"是打的八五折

對于邏輯錯誤而言,發(fā)現(xiàn)錯誤是容易的,但要查找出邏輯錯誤的原因卻很困難。因此,在編寫程序的過程中,一定要注意使用語句或者函數(shù)的書寫完整性,否則將導(dǎo)致程序出錯。

主站蜘蛛池模板: 桐乡市| 丰都县| 临汾市| 永昌县| 额尔古纳市| 榆中县| 新绛县| 阜宁县| 伊春市| 肇州县| 昌图县| 青田县| 乡宁县| 绥江县| 惠来县| 天等县| 林州市| 龙井市| 汉沽区| 永德县| 梧州市| 绥滨县| 海兴县| 神农架林区| 金乡县| 高邑县| 墨脱县| 枣庄市| 安新县| 平舆县| 迁安市| 淳安县| 织金县| 长春市| 浦北县| 丽江市| 财经| 安阳县| 温泉县| 铁岭县| 通河县|