
1.2 程序的结构
1.2.1 输入-处理-输出
计算机以非常简单的输入-处理-输出模型工作,而且每个计算机程序也使用相同的模型。计算机需要输入,然后对输入进行处理。之后计算机不一定需要更进一步工作,然而如果不能看到处理的结果,用户会感到迷惑,因此计算机必须产生某种输出。
1.2.1.1 输入
输入有许多形式,可以使用鼠标或键盘输入信息,也可以通过调制解调器、WiFi连接或通过USB端口连接的各种外围设备(如照相机、智能电话或计算器)将信息输入到计算机。程序可以从程序的其他部分、文件或其他网页接收输入。
通常,程序通过提示接收用户的输入。在JavaScript中,一个称为提示对话框的弹出对话框显示用户要输入的信息(见例1.1)。然后,无论用户输入什么内容都存储在变量中。变量将在第2章详细介绍,这里只需知道变量保存用户在提示对话框中输入的值即可。
例1.1 使用输入提示 下列JavaScript代码示范如何创建一个提示:
在这个例子中,第5行是一条JavaScript语句。变量name在左边声明。右边创建一个含有文本“Please enter your name”的提示对话框,其中的逗号“,”用于分隔将在提示对话框显示的值和程序员希望显示的默认值。这里,我们希望用户键入的文本区为空白,因此把这个值设定为一个空格(“ ”)。无论用户键入什么值都将成为变量name的值。注意在提示对话框右括号后面有一个分号,与大多数程序设计语言的语句一样,所有JavaScript语句必须以一个分号结束。
这个程序的初始输出将显示一个提示对话框,其中含有键入的名字,如Fiona:
名字Fiona将存储在一个名为name的变量中,可以在以后的处理或输入程序中使用它。
取决于使用的浏览器和版本,提示对话框的外观可能略有不同,但是提示对话框的功能是相同的。
通过提示对话框获取用户输入是很常用的,不过也可以通过其他方法将数据输入程序。在一些程序中,用户通过单击或移动鼠标输入数据。输入的另一种常用形式不涉及用户交互,也就是要传递给程序的数据可能来自数据文件、其他网页或程序的其他部分。
1.2.1.2 处理
在例1.1中,提示让用户输入一个人的名字。之后做什么呢?程序必须对获取的信息做些事情,这就是处理阶段。程序可以通过程序员编写的代码处理接收的输入。对于接收的数据,程序可能对数据执行数学操作,或者与其他信息一起生成新的信息,或者计算机能做的任何其他事情。例1.2展示一个程序如何从提示对话框获取输入的人名,然后与其他文本连接生成一条问候语。
例1.2 处理输入 下列JavaScript代码示范如何从提示框录入的人名生成一条问候语:
此时,屏幕不显示新的内容。然而,第6行定义了一个新变量greeting。如果用户在提示时输入Fiona,那么greeting将保存以下的值:
而如果用户在提示时输入Horatio,那么greeting则保存以下的值:
1.2.1.3 输出
通常,程序只是在内部处理。然而,用户最终想要见到一些结果。程序输出是指程序将数据发送到显示器、打印机或其他目的地,如文件、电子邮件链接或另一个网站。输出通常包含程序的处理结果。
在下面的简短例子中,输出是屏幕显示生成的问候语,例1.3示范了这种方法。
例1.3 产生输出 下列JavaScript代码示范如何显示通过处理从提示中录入的人名而生成的问候语:
第7行指令读取变量greeting的值,并且在用户的屏幕上显示。如果用户在提示时键入Fiona,屏幕的显示效果如下图所示。
在Firefox上的屏幕显示效果