blob: 0b2bd8a57f46f31531adbd80ce0fef77216dc587 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
---
title: 控制流
slug: Glossary/Control_flow
translation_of: Glossary/Control_flow
---
<p><em>控制流</em> 是计算机执行一个程序中语句的顺序。</p>
<p>程序会从第一行代码开始执行直至最后一行,除非遇到(实际中是非常普遍地)改变控制流的代码结构,比如条件语句和循环。</p>
<p>比如,下面的程序被用来校验用户在网页上输入的数据。数据经过校验后会被提交,但当用户没有输入任何数据时(field==empty),这个程序会提醒用户去填入数据。为了做到这一点,这个程序使用了 {{Glossary("Conditional", "条件")}} 结构 <code>if...else</code>,这样就可以根据数据是否被填充而执行不同的代码。</p>
<pre>if (field==empty) {
promptUser();
} else {
submitForm();
}</pre>
<p>在 {{glossary("JavaScript")}} 或者 {{glossary("PHP")}} 中存在许多控制结构,比如条件语句、循环和函数。还有部分语句可能被设定为当 {{Glossary("Event", "事件")}} 发生的时候才执行。</p>
<p>例如,上面的代码可能被放入一个函数,而这个函数只有在用户点击了表单的<strong>提交</strong>按钮时才执行。而这个函数也可以再包含一个循环,来达到按照顺序遍历表单中的所有数据的目的。往回看 <code>if...else</code> 代码块,<code>promptUser</code> 和 <code>submitForm</code> 也可以是对其他函数的调用。如你所见,控制结构依靠几行代码就能完成复杂的处理过程。</p>
<p>控制流的存在意味着在读代码时,你不能只从第一行读到最后一行,你还要注意代码的结构以及它对语句执行顺序的影响。</p>
<p> </p>
<h2 id="Learn_more">Learn more</h2>
<h3 id="General_knowledge">General knowledge</h3>
<ul>
<li>{{Interwiki("wikipedia", "Control flow")}} on Wikipedia</li>
</ul>
<h3 id="Technical_reference">Technical reference</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference#Control_flow">JavaScript Reference - Control flow</a> on MDN</li>
</ul>
<h3 id="Learn_about_it">Learn about it</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Guide/Statements">Statements (Control flow)</a> on MDN</li>
</ul>
|