并非是題外話:
我們?cè)诘诙n中要講到的“轉(zhuǎn)義字符”看起來與我們的課程并沒有關(guān)系。事實(shí)并非如此。轉(zhuǎn)義字符是在
asp中使用javascript的一個(gè)完整部分。而第二課要講的恰恰就是轉(zhuǎn)義字符。沒有轉(zhuǎn)義字符,那么你為了
寫出有效率的asp腳本將會(huì)遇到許多的困難。
抱歉,下面進(jìn)入正題:
以下是第二課的asp腳本。
還記不記得在第一課的列子中,我們?cè)鯓泳帉懥艘粋(gè)html輸出都在同一行的代碼。轉(zhuǎn)義字符允許我們?cè)黾?br>換行符號(hào)。
下面是我們上邊例子在客戶端html輸出頁(yè)面的代碼:
換行符:
我又在下面重新打了一行asp腳本。注意在最后加上去的那個(gè)"\r"。
Response.Write("\"Hello World\"
\r")
"\r"是換行符的一個(gè)特殊標(biāo)記。就是這個(gè)符號(hào)使得我在html頁(yè)面上的輸出被分成了好幾行。這在大型的應(yīng)
用程序或者是大型的頁(yè)面上是相當(dāng)重要的。我曾經(jīng)說過,在次我再重復(fù)一次。相信我:如果你連你所寫下
的東西的頭和尾都分不清楚的話,你是不會(huì)發(fā)現(xiàn)你在客戶端輸出的東西有什么bug的。
引用符:
還有一樣是你必須注意的。想想我是怎樣在某些引號(hào)后面添加了“\”的。如果我把“\”去掉的話,又會(huì)
出現(xiàn)什么情況呢?讓我們?cè)囋囅旅孢@行腳本吧。
我們將可能得到一個(gè)下面列出的錯(cuò)誤代碼:
沒有轉(zhuǎn)義字符:
如果我不喜歡轉(zhuǎn)義字符的話該怎么辦?我必須使用他們嗎?
沒有他們的話,你將寸步難行。看看下面的腳本:
Response.Write("'Hello World'
")
你可以交替使用雙引號(hào)和單引號(hào)。在我看來,這只是一個(gè)笨辦法,不過它確實(shí)是一個(gè)有用的辦法。就算沒有以上的說法,至少?gòu)膆tml美學(xué)的觀點(diǎn)上來看,我們還是應(yīng)該使用轉(zhuǎn)義字符的。
清單:
使得我們使用轉(zhuǎn)義字符的一個(gè)不是很重要的原因是他能夠允許我們輸出一些特殊字符。
最重要的:
使用轉(zhuǎn)義字符的最重要的原因(至少對(duì)一些復(fù)雜的應(yīng)用來說)是為了數(shù)據(jù)庫(kù)的連接。(我們?cè)诤竺鎸⒂袉为?dú)的課程來講述數(shù)據(jù)庫(kù)。)比較一下下面的兩個(gè)連接字符串。
var Connection="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("\\TopLevelVirtualFolder") + "\\database\\myDatabase.mdb;"
Dim Connection;
Connection="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("\TopLevelVirtualFolder") & "\database\myDatabase.mdb;"
下一課:
我們?cè)谟胘avascript編寫asp的時(shí)候還必須有一個(gè)小工具,我們將在接下來的一課中講到它。
本節(jié)原文及范例地址:http://aspjavascript.com/lesson02.asp
原文作者:James Clark 翻譯:huahua 轉(zhuǎn)載請(qǐng)注明