一种选择是否运行一段代码的方法。
if
语句对于根据条件运行一段代码非常有帮助。例如 if
语句使得表达“如果鼠标被按下,则画一个圆”的想法变得简单:
if (mouseIsPressed === true) { circle(mouseX, mouseY, 20); }
语句头部以关键字 if
开头。括号中的表达式 mouseIsPressed === true
是一个 Boolean
表达式, 其值为 true
或 false
。花括号 {}
之间的代码是 if 语句的主体。 只有当 Boolean
表达式的值是 true
时,主体中的代码才会运行。
mouseIsPressed 系统变量始终为 true
或 false
,所以上面的代码片段也可以写成:
if (mouseIsPressed) { circle(mouseX, mouseY, 20); }
if
-else
语句中的代码,只有当 Boolean
表达式的值为 false
的时候才会运行。 例如:下面是一个 if
-else
语句,表示“如果鼠标被按下,则画一个圆。否则,显示一条消息”:
if (mouseIsPressed === true) { // When true. circle(mouseX, mouseY, 20); } else { // When false. text('Click me!', 50, 50); }
这段代码片段有两条可能的路径,或者说分支。程序必须遵循其中一条分支。
else
-if
语句允许添加多个分支。 else
-if
语句在不同的条件下运行不同的代码块。 例如,else
-if
语句使得表达“如果鼠标在左边,将画布涂白。 如果鼠标在中间,将画布涂灰。否则,将画布涂黑。”变得简单:
if (mouseX < 33) { background(255); } else if (mouseX < 67) { background(200); } else { background(0); }
if
语句可以根据需要添加多个 else
-if
语句。但是,只能有一个 else
语句,并且且必须放在末尾。
if
语句还可以一次性判断多个条件。例如,Boolean
运算符 &&
(且)判断两个表达式是否同时为 true
。
if (keyIsPressed === true && key === 'p') { text('You pressed the "p" key!', 50, 50); }
如果用户按下键盘中的 'p'
键,则会显示一条信息。
Boolean
运算符 ||
(或) 判断两个表达式中是否至少有一个为 true
。
if (keyIsPressed === true || mouseIsPressed === true) { text('You did something!', 50, 50); }
如果用户按下一个键,或者按下一个鼠标按钮,或者两者都按下,则会显示一条消息。
if
语句的主体可以包含另一个 if
语句。这被称为嵌套 if
语句。 例如,嵌套 if
语句使得表达“如果按下一个键,判断这个键是否是'r'键。如果是,那么将填充颜色设置为红色。”变得简单:
if (keyIsPressed === true) { if (key === 'r') { fill('red'); } }
示例
相关参考
Array
一个按顺序存储多个数据的列表。 数组有助于存储相关数据。它们可以存储任何类型的数据。例如,数组可以以字符串的形式存储某人最喜欢的颜色列表。数组的创建方式如下: let colors = ['deeppink', 'darkorchid', 'magenta']; 数组中的每个数据皆为一个元素。每个元素在其数组中都有一个地址或索引。变量 colors 指的是一个包含三个元素的数组。String> elements, 'deeppink', 'darkorchid',和 'magenta'。数组的索引是从 0 开始的,这就意味着 'deeppink' 的索引是 0, 'darkorchid' 的索引是 1, ‘magenta' 的索引是 2。我们可以使用数组的索引来访问数组元素,如下所示: let zeroth = colors[0]; // 'deeppink' let first = colors[1]; // 'darkorchid' let second = colors[2]; // 'magenta' 通过调用 push() 方法,可以在数组末尾添加元素。方法如下: method as follows: colors.push('lavender'); let third = colors[3]; // 'lavender' 了解更多关于数组的信息,请参阅 MDN .
class
特殊类型对象的创建模板 类可以让使用对象编程变得更容易。例如,一个 Frog 类可以创建行为像青蛙一样的对象。通过类创建的每个对象都是该类的一个实例。同一个类的所有实例都是相同类型。以下是创建 Frog 类实例的示例: let fifi = new Frog(50, 50, 20); 变量 fifi 代表 Frog 的一个实例。关键字 new 用于在语句 new Frog() 中调用 Frog。总之,一个新的 Frog 对象被创建并赋值给了变量 fifi。类是模板,因此我们可以用它创建多个实例: // First Frog instance.
for
一种在已知迭代次数的情况下重复代码块的方法。 for 循环对于重复执行特定次数的语句很有帮助。例如,for 循环使得表达"画五条线"的想法变得简单,如下所示: for (let x = 10; x 循环的头部以关键字 for 开头。循环通常在重复或迭代时递增或递减。括号中的语句 let x = 10; x 决定循环的重复方式: let x = 10 表示循环从 10 开始计数,并使用变量 x 记录迭代次数。 x 表示循环计数到 100(但不包括 100)。 x += 20 表示每次迭代结束时递增 20。 花括号 {} 之间的代码是循环的主体。循环主体中的语句在每次循环迭代期间重复执行。 意外创建无限循环是很常见的。当发生这种情况时,绘图可能会变得无响应,网页浏览器可能会显示警告。例如,以下循环永远不会停止迭代,因为它没有计数递增: for (let x = 10; x 语句 x = 20 使变量 x 的值变为 20,始终小于 100。 for 循环也可以递减计数: for (let d = 100; d > 0; d -= 10) { circle(50, 50, d); } for 循环也可以包含其他循环。下面的嵌套循环绘制了一个点网格。 // Loop from left to right.
function
一个被命名的语句组 Functions 函数有助于组织和复用代码。例如,函数使得表达“画一朵花”的想法变得容易: function drawFlower() { // Style the text.