標題標題  顯示論壇會員列表名單  搜索論壇搜索  HelpHelp
  注冊注冊  登入登入
ASP教學區
 DoReMe : ASP教學區
主題 話題: 第九章 JScript 回復發表新主題
作者
貼子內容 << Prev Topic下一個主題 >>
apple
Newbie
Newbie


加入: 2004/11月/25
Online Status: Offline
回復: 14
Posted: 2004/11月/25 1:02下午 | IP記錄 引用 apple

使用分支語句(if…then…else)

如果你需要根據某個情況的真假來決定執行哪一條或哪一組語句的話,你就得使用分支結構,分支使用任何可返回邏輯值的表達式來作為 它的判斷條件。如下面所示:

<%

greeting=「Happy Weekday!」;

mydate= new Date();

if (mydate.getDay()==0) greeting=「Happy Sunday!」;

if (mydate.getDay()==6) greeting=「Happy Saturday!」;

%>

<%=greeting%>

如果今天是星期六或星期天,這個腳本就會輸出適當的問候句,否則,腳本就會輸出問候Happy Weekday!

注意這個腳本中的兩個分支是如何使用的,if語句後緊跟一個由括號包圍的表達式,這個表達式必須返回一個布爾值(真或假)。對於 這兩個分支,括號中的表達式都完成對當前日期的比較。

還要注意關鍵字then在JScript分支中沒有使用,如果條件是真的,則跟在括號後的一條或一組語句將被執行。下面的例子根 據條件執行一組語句:

<%

greeting=「Happy other day!」;

mydate=new Date();

if (mydate.getDay()==0)

{

greeting=「Happy Sunday!」;

greeting=greeting.bold();

greeting=greeting.italics();

}

%>

<%=greeting%>

在此例中,三條用花括號包含起來的語句只有當今天是星期天時才會執行,這對括號指明了一個分支的開始和結束。

最後,你可在分支中使用關鍵字else來指定一句或一組語句,當條件為假時執行。如下面的例子:

<%

mydate=new Date();

if (mydate.getDay()==0) greeting=「Happy Sunday!」;

else greeting=「Happy other day!」;

%>

<%=greeting%>

在此例中,多個問候句保證了會取兩者中的某一個值。如果今天是星期天,問候句是「Happy Sunday」,否則,問候將是「Happy other day!」。

Back to Top 查看 apple's 資料 搜索其他貼子 apple 訪問 apple's
 
apple
Newbie
Newbie


加入: 2004/11月/25
Online Status: Offline
回復: 14
Posted: 2004/11月/25 1:02下午 | IP記錄 引用 apple

使用循環(for…next)

如果你要重複執行一句或一組語句特定的次數,你可以使用for…next循環。下面的for…next循環打印10次Hello World!

<%

for (myvar=0; myvar<10; myvar++)

%>

Hello World!

for語句包含三部分,第一部分初始化變量,在此例中,新的變量myvar的初始值是0,第二個部分判斷某個條件是否為真,這個 循環當myvar的值小於10時一直在執行。for語句的最後一部分自增myvar變量。

通常你有一組語句需要在for…next循環中執行,要指定一組語句執行,你要用花括號({})將這些語句包含起來。如下面所示 :

<%

for (myvar=0; myvar<10; myvar++)

{

%>

<BR> Hello World!

<BR> How are you today?

<%

}

%>

在此例中,一組HTML語句在瀏覽器上重複顯示10次,注意在這個腳本末尾結束for…next循環的花括號}。

與for…next語句最接近的語句是for…in語句,你可以使用for…in語句來逐個訪問數組或對像中的每一個元素。下面 的例子說明了這個語句的用法:

<%

myarray=new Array(「John」,「Paul」,「George」,「Ringo」);

for (myvar in myarray)

{

%>

<%=myarray[myvar]%>

<%

}

%>

這個腳本輸出名為myarray的數組中的所有元素的值,對數組中的每個元素,都要執行一遍循環體中的語句。

 

 

 

 

使用while循環

如果當某一特定條件為真時你要執行一條或一組語句,那麼你可以使用while循環。while循環只有當條件為真時才執行,來看 下面的腳本:

<%

function ThePresent()

{

var ThePresentTime=new Date();

return ThePresentTime.getTime();

}

TheFutureTime=new Date();

TheFutureTime.setSeconds(TheFutureTime.getSeconds()+15);

TheFuture=TheFutureTime.getTime();

while (ThePresent()<TheFuture)

{

%>

<BR> Waiting for the future…

<%

}

%>

這個腳本反覆在屏幕上顯示文本Waiting for the future…達15秒(見圖9.4)。緊跟在while語句後的語句組不斷執行直到括號中包含的條件為假時才停止。在這種情況 下,當現在的時間與啟動腳本的時間差在15秒之內時(使用函數不斷地刷新當前時間),while循環不斷執行。

如果在while語句執行之前,它的條件就是假的,那麼while中包括的循環體就不會被執行。也就是說,如果while語句的 條件永遠都是真的,則循環就會永遠地執行下去。

使用while語句時你要小心不要陷入到死循環中去,如果你不小心建立了一個死循環,也不要擔心。要有耐心,在一定時間之後腳本 會自動終止的(通常是90秒)。

注意

你可以使用服務器對象的ScriptTimeOut屬性來控制在時間到達之前一個腳本執行多長時間。你可以從第14章「使用單個 ASP」來學習怎樣實現這一目的。

 

 

圖9.4 Waiting for the future…

Back to Top 查看 apple's 資料 搜索其他貼子 apple 訪問 apple's
 
apple
Newbie
Newbie


加入: 2004/11月/25
Online Status: Offline
回復: 14
Posted: 2004/11月/25 1:02下午 | IP記錄 引用 apple

指定缺省對像(with)

JScript的面向對像特性導致了許多額外的代碼,你在調用一個方法前,你必須指定這個方法的對象。如果你要調用同一個對象的 許多方法,一次又一次的輸入這個對象的名字是非常煩瑣的。

很幸運,有一個JScript的語句能改變這一局面。使用with語句,你可以為大量的語句指定一個缺省的對象,在這一組語句中 ,你不需要在使用這個對象的方法時指明這個對象的名字。

例如,假設你需要產生三個隨機數,通常,你要使用下面所示的腳本來實現這一功能:

<%

myrandom1=Math.random();

myrandom2=Math.random();

myrandom3=Math.random();

%>

如果你將Math對像作為缺省對象,你就不用重複輸入這個對象的名字了。下面的例子用with語句重寫了這個腳本:

<%

with (Math)

{

myrandom1=random();

myrandom2=random();

myrandom3=random();

}

%>

在這種情況下使用with語句,你將會節省擊鍵次數。如果你在鍵盤前連續輸入幾個小時,則會大大地節省你的擊鍵次數。

小結

本章概略地向你介紹了JScript。你學習了怎樣使用大部分重要的JScript對象的方法和屬性,包括日期、數學、字符串以 及數組對象。你還學習了怎樣建立你自己的對象。最後,你學習了怎樣使用JScript語句來控制你的腳本的流程。

在讀完本章之後,你應當能夠在你的Active Server Pages中使用JScript。在本書的第四部分,你將學習怎樣控制Active Server Pages的對象和組件。你對JScript的知識將會為你提供建立真正的動態網站的最大的靈活性。

Back to Top 查看 apple's 資料 搜索其他貼子 apple 訪問 apple's
 

如果你想回復的話你必須首先 login
如果你還沒有注冊的話你必須首先 注冊

<< 上一頁 頁 of 2
  回復發表新主題
顯示可打印的頁面 顯示可打印的頁面

論壇跳轉
不能 張貼新論題在這個討論版
不能 回應論題在這個討論版
不能 刪除你的發言在這個討論版
不能 編輯你的發言在這個討論版
不能 新增投票標題在這個討論版
不能 在這個討論版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.9219 seconds.

 
保養品
保養品, Skin Care
www.elady.tw
Makeups Wholesale
Wholesale Cosmetics SkinCares
lungjyi.com
保養品批發
名牌保養品、保養品批發
www.perfume.com.tw/skincare
Wholesale Perfumes
Fragrances Perfumes Wholesale
lungjyi.net