- JavaScript程序設計:基礎·PHP·XML
- (美)Elizabeth Drake
- 6字
- 2020-10-30 18:12:18
1.2 程序的結(jié)構(gòu)
1.2.1 輸入-處理-輸出
計算機以非常簡單的輸入-處理-輸出模型工作,而且每個計算機程序也使用相同的模型。計算機需要輸入,然后對輸入進行處理。之后計算機不一定需要更進一步工作,然而如果不能看到處理的結(jié)果,用戶會感到迷惑,因此計算機必須產(chǎn)生某種輸出。
1.2.1.1 輸入
輸入有許多形式,可以使用鼠標或鍵盤輸入信息,也可以通過調(diào)制解調(diào)器、WiFi連接或通過USB端口連接的各種外圍設備(如照相機、智能電話或計算器)將信息輸入到計算機。程序可以從程序的其他部分、文件或其他網(wǎng)頁接收輸入。
通常,程序通過提示接收用戶的輸入。在JavaScript中,一個稱為提示對話框的彈出對話框顯示用戶要輸入的信息(見例1.1)。然后,無論用戶輸入什么內(nèi)容都存儲在變量中。變量將在第2章詳細介紹,這里只需知道變量保存用戶在提示對話框中輸入的值即可。
例1.1 使用輸入提示 下列JavaScript代碼示范如何創(chuàng)建一個提示:
在這個例子中,第5行是一條JavaScript語句。變量name在左邊聲明。右邊創(chuàng)建一個含有文本“Please enter your name”的提示對話框,其中的逗號“,”用于分隔將在提示對話框顯示的值和程序員希望顯示的默認值。這里,我們希望用戶鍵入的文本區(qū)為空白,因此把這個值設定為一個空格(“ ”)。無論用戶鍵入什么值都將成為變量name的值。注意在提示對話框右括號后面有一個分號,與大多數(shù)程序設計語言的語句一樣,所有JavaScript語句必須以一個分號結(jié)束。
這個程序的初始輸出將顯示一個提示對話框,其中含有鍵入的名字,如Fiona:
名字Fiona將存儲在一個名為name的變量中,可以在以后的處理或輸入程序中使用它。
取決于使用的瀏覽器和版本,提示對話框的外觀可能略有不同,但是提示對話框的功能是相同的。
通過提示對話框獲取用戶輸入是很常用的,不過也可以通過其他方法將數(shù)據(jù)輸入程序。在一些程序中,用戶通過單擊或移動鼠標輸入數(shù)據(jù)。輸入的另一種常用形式不涉及用戶交互,也就是要傳遞給程序的數(shù)據(jù)可能來自數(shù)據(jù)文件、其他網(wǎng)頁或程序的其他部分。
1.2.1.2 處理
在例1.1中,提示讓用戶輸入一個人的名字。之后做什么呢?程序必須對獲取的信息做些事情,這就是處理階段。程序可以通過程序員編寫的代碼處理接收的輸入。對于接收的數(shù)據(jù),程序可能對數(shù)據(jù)執(zhí)行數(shù)學操作,或者與其他信息一起生成新的信息,或者計算機能做的任何其他事情。例1.2展示一個程序如何從提示對話框獲取輸入的人名,然后與其他文本連接生成一條問候語。
例1.2 處理輸入 下列JavaScript代碼示范如何從提示框錄入的人名生成一條問候語:
此時,屏幕不顯示新的內(nèi)容。然而,第6行定義了一個新變量greeting。如果用戶在提示時輸入Fiona,那么greeting將保存以下的值:
而如果用戶在提示時輸入Horatio,那么greeting則保存以下的值:
1.2.1.3 輸出
通常,程序只是在內(nèi)部處理。然而,用戶最終想要見到一些結(jié)果。程序輸出是指程序?qū)?shù)據(jù)發(fā)送到顯示器、打印機或其他目的地,如文件、電子郵件鏈接或另一個網(wǎng)站。輸出通常包含程序的處理結(jié)果。
在下面的簡短例子中,輸出是屏幕顯示生成的問候語,例1.3示范了這種方法。
例1.3 產(chǎn)生輸出 下列JavaScript代碼示范如何顯示通過處理從提示中錄入的人名而生成的問候語:
第7行指令讀取變量greeting的值,并且在用戶的屏幕上顯示。如果用戶在提示時鍵入Fiona,屏幕的顯示效果如下圖所示。
在Firefox上的屏幕顯示效果
- FuelPHP Application Development Blueprints
- 工程軟件開發(fā)技術基礎
- C語言程序設計實訓教程
- Access 2010數(shù)據(jù)庫基礎與應用項目式教程(第3版)
- Java性能權(quán)威指南(第2版)
- Learning Apache Mahout Classification
- Python之光:Python編程入門與實戰(zhàn)
- HTML5+CSS3 Web前端開發(fā)技術(第2版)
- Mastering Web Application Development with AngularJS
- C/C++數(shù)據(jù)結(jié)構(gòu)與算法速學速用大辭典
- 玩轉(zhuǎn).NET Micro Framework移植:基于STM32F10x處理器
- 計算語言學導論
- Greenplum構(gòu)建實時數(shù)據(jù)倉庫實踐
- Monitoring Docker
- Mastering Unreal Engine 4.X