JavaScript是基于對(duì)象的腳本編程語言,那么它的輸入輸出就是通過對(duì)象來完成的。其中有關(guān)輸入可通過窗口(Window)對(duì)象來完成,而輸出可通過文檔(document)對(duì)象的方法來實(shí)現(xiàn)。

一、窗口及輸入輸出
請(qǐng)看下面例子:
<HTML>
<Head>
<script languaga="JavaScript">
Var test=window.prompt("請(qǐng)輸入數(shù)據(jù):");
document.write(test+"JavaScript輸入輸出的例子");
</script>
</Head>
</HTML>
其中window.prompt()就是一個(gè)窗口對(duì)象的方法,其基本作用是,當(dāng)裝入Web頁面時(shí)在屏幕上顯示一個(gè)具有“確定”和“取消”的對(duì)話框,讓你輸出數(shù)據(jù)。document.writle是一個(gè)文檔對(duì)象的方法,它的基本功能,是實(shí)現(xiàn)Web頁面的輸出顯示。見圖1所示。


圖1  

1、窗口對(duì)象
該對(duì)象包括許多有用的屬性、方法和事件驅(qū)動(dòng)程序,編程人員可以利用這些對(duì)象控制瀏覽器窗口顯示的各個(gè)方面,如對(duì)話框、框架等。在使用應(yīng)注意以下幾點(diǎn):
該對(duì)象對(duì)應(yīng)于HTML文檔中的<Body>和<FrameSet>兩種標(biāo)識(shí);
onload和onunload都是窗口對(duì)象屬性;
在JavaScript腳本中可直接引用窗口對(duì)象。如:
window.alert("窗口對(duì)象輸入方法")
可直接使用以下格式:
alert("窗口對(duì)象輸入方法")

2、窗口對(duì)象的事件驅(qū)動(dòng)
窗口對(duì)象主要有裝入Web文檔事件onload和卸載時(shí)onunload事件。用于文檔載入和停止載入時(shí)開始和停止更新文檔。

3、窗口對(duì)象的方法
窗口對(duì)象的方法主要用來提供信息或輸入數(shù)據(jù)以及創(chuàng)建一個(gè)新的窗口。
創(chuàng)建一個(gè)新窗口open()
使用window.open(參數(shù)表)方法可以創(chuàng)建一個(gè)新的窗口。其中參數(shù)表提供有窗口的主要特性和文檔及窗口的命名。
具有OK按鈕的對(duì)話框
alert()方法能創(chuàng)建一個(gè)具有OK按鈕的對(duì)話框。
具有OK和Cancel按鈕的對(duì)話框
confirm()方法為編程人員提供一個(gè)具有兩個(gè)按鈕的對(duì)話框。
具有輸入信息的對(duì)話框
prompt()方法允許用戶在對(duì)話框中輸入信息,并可使用默認(rèn)值,其基本格式如下prompt(“提示信息”,默認(rèn)值)。

4、窗口對(duì)象中的屬性
窗口對(duì)象中的屬性主要用來對(duì)瀏覽器中存在的各種窗口和框架的引用,其主要屬性有以下幾個(gè):
(1)frames 確文檔中幀的數(shù)目
frames(幀)作為實(shí)現(xiàn)一個(gè)窗口的分隔操作,起到非常有用的作用,在使用注意以下幾點(diǎn):
frames屬性是通過HTML標(biāo)識(shí)<Frames>的順序來引用的,它包含了一個(gè)窗口中的全部幀數(shù)。
幀本身已是一類窗口,繼承了窗口對(duì)象所有的全部屬性和方法。
(2)Parent 指明當(dāng)前窗口或幀的父窗口。
(3)defaultstatus:默認(rèn)狀態(tài),它的值顯示在窗口的狀態(tài)欄中。
(4)status:包含文檔窗口中幀中的當(dāng)前信息。
(5)top:包括的是用以實(shí)現(xiàn)所有的下級(jí)窗口的窗口。
(6)window.指的是當(dāng)前窗口
(7)self:引用當(dāng)前窗口。

5、輸出流及文檔對(duì)象
在JavaScript文檔對(duì)象中,提供了用于顯示關(guān)閉、消除、打開HTML頁面的輸出流。
(1)創(chuàng)建新文檔open()方法
使用document.open()創(chuàng)建一個(gè)新的窗口或在指定的命令窗口內(nèi)打開文檔。由于窗口對(duì)象是所加載的父對(duì)象,因而我們?cè)谡{(diào)用它的屬性或方法時(shí),不需要加入Window對(duì)象。例用Window. Open()與Open()是一樣的。
打開一個(gè)窗口的基本格式:
Window .open("URL","窗口名字","窗口屬性"]
window屬性參數(shù)是由一個(gè)字符串列表項(xiàng)它由逗號(hào)分隔,它指明了有關(guān)新創(chuàng)建窗口的屬性。見表7-1所示。

表7-1

參 數(shù)

設(shè)定值

含 義

toolbar

yes/no

建立或不建立標(biāo)準(zhǔn)工具條

location

yes/no

建立或不建立位置輸入字段

directions

yes/no

建立或不建立標(biāo)準(zhǔn)目錄按鈕

status

yes/no

建立或不建立狀態(tài)條

menubar

yes/no

建立或不建立菜單條

scrollbar

yes/no

建立或不建立滾動(dòng)條

revisable

yes/no

能否改變窗口大小

width

yes/no

確定窗口的寬度

Height

yes/no

確定窗口的高度。


在使用Open()方法時(shí),需要注意以下點(diǎn)。
通常瀏覽器窗中,總有一個(gè)文檔是打開的。因而不需要為輸出建立一個(gè)新文檔。
在完成對(duì)Web文檔的寫操作后,要使用或調(diào)用close()方法來實(shí)現(xiàn)對(duì)輸出流的關(guān)閉。
在使用open()來打開一個(gè)新流時(shí),可為文檔指定一個(gè)有效的文檔類型,有效文檔類型包括text/HTML、text/gif、text/xim、text/plugin等。
(2)write()、writeln()輸出顯示。
該方法主要用來實(shí)現(xiàn)在Web頁面上顯示輸出信息。在實(shí)際使用中,需注意以下幾點(diǎn):
writeln()與write()唯一不同之處在于在未尾加了一個(gè)換符。
為了正常顯示其輸出信息,必須指明<pre> </Pre>標(biāo)記,使之告訴編輯器。
輸出的文檔類型,可以由瀏覽器中的有效的合法文本類型所確定。
(3)關(guān)閉文檔流close()
在實(shí)現(xiàn)多個(gè)文檔對(duì)象中,必須使用close()來關(guān)閉一個(gè)對(duì)象后,才能打開另一個(gè)文檔對(duì)象。
(4)清除文檔內(nèi)容clear()
使用該方法可清除已經(jīng)打開文檔的內(nèi)容。

二、簡單的輸入、輸出例子
在JavaScript中可以非常方便地實(shí)現(xiàn)輸入輸出信息,并與用戶進(jìn)行交互。

1、JavaScript信息的輸入
通過使用JavaScript中所提供的窗口對(duì)象方法prompt(), 就能完成信息的輸入。該方法提供了最簡便的信息輸入方式,其基本格式如下:
Window.prompt("提示信", 預(yù)定輸入信息);
此方法首先在瀏覽器窗口中彈出一個(gè)對(duì)話框, 讓用戶自行輸入信息。一旦輸入完成后,就返回用戶所輸入信息的值。例:
test=prompt(“請(qǐng)輸入數(shù)據(jù):”,”this is a JavaScript”)
實(shí)際上prompt()是窗口對(duì)象的一個(gè)方法。因?yàn)槿笔∏闆r下所用的對(duì)象就是window對(duì)象, 所以windows對(duì)象可以省略不寫。

2、輸出顯示
每種語言,都必須提供信息數(shù)據(jù)的輸出顯示。JavaScript也是一樣,它提供有幾個(gè)用于信息輸出顯示的方法。比較常用的有window.alert()、document.write和及document.writln()方法。
1)、document.write()方法和document.writeln()方法
document是JavaScript中的一個(gè)對(duì)象在它中封裝許多有用的方法,其中write()和writeln()就是用于將文本信息直接輸出到瀏覽器窗口中的方法。
document.write();
document.writeln();
說明:
write()和writeln()方法都是用于向?yàn)g覽器窗口輸出文本字串;
二者的唯一區(qū)別就是writeln()方法自動(dòng)在文本之后加入回車符。

2)、 window.alert()輸出
在JavaScript為了方便信息輸出,JavaScript提供了具有獨(dú)立的對(duì)話框信息輸出─alert()方法。
alert()方法是window對(duì)象的一個(gè)方法,因此在使用時(shí),不需要寫window窗口對(duì)象名,而是直接使用就行了。它主要用途用在輸出時(shí)產(chǎn)生有關(guān)警告提示信息或提示用戶,一旦用戶按“確定”鈕后,方可繼續(xù)執(zhí)行其他腳本程序。例:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<Script Language ="JavaScript">
alert("這是一個(gè)JavaScript測試程序");
</Script>
</BODY>
</HTML>

3)、利用輸入、輸出方法實(shí)現(xiàn)交互
在JavaScript中,可以利用prompt()方法和write()方法實(shí)現(xiàn)與Web頁面用戶進(jìn)行交互。例下面就是一個(gè)有關(guān)實(shí)現(xiàn)交互的例子。
Test7_1.htm
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<Script Language="JavaScript">
<!-- Hide From Other Browsers
document.write("<H1>有關(guān)交互的例子");
my=prompt("請(qǐng)輸入數(shù)據(jù):");
document.write(my+"</H1>");
document.close();
// Stop Hiding from Other Browsers-->
</Script>
</BODY>
</HTML>
從上面程序可以看出:
可通過write()和prompt()方法實(shí)現(xiàn)交互。
在JavaScript腳本語言中可以使用HTML標(biāo)識(shí)語言的代碼。從而實(shí)現(xiàn)混合編程。其中<H1>和<Br>就是HTML標(biāo)識(shí)符。

四、范例
下列程序演示了你進(jìn)入主頁所停留的時(shí)間。
test7_2.htm
<html>
<form name="myform">
<td vAlign="top" width="135">您在此停留了:
<input name="clock" size="8" value="在線時(shí)間"></td>
</form>
<script language="JavaScript">
var id, iM = 0, iS = 1;
start = new Date();
function go()
{
now = new Date();
time = (now.getTime() - start.getTime()) / 1000;
time = Math.floor( time);
iS = time % 60;
iM = Math.floor( time / 60);
if ( iS < 10)
document.myform.clock.value = " " + iM + " 分 0" + iS + " 秒";
else
document.myform.clock.value = " " + iM + " 分 " + iS + " 秒";
id = setTimeout( "go()", 1000);
}
go();
</script>
</body>
</html>
在瀏覽器中的結(jié)果,見圖2所示。


圖1


dm520