一个可以是正数、负数或零的数字。
Number
数据类型用于描述位置、大小和颜色等值。数字可以是整数,如 20,也可以是十进制数,如 12.34。 例如,圆的位置和大小可以用三个数字来描述:
circle(50, 50, 20);
circle(50, 50, 12.34);
数字支持基本的算术运算,并遵循标准的运算顺序:括号、指数、乘法、除法、加法和减法(PEMDAS)。 例如,我们通常使用算术运算符与 p5.js 的系统变量,这些变量都是数字:
// Draw a circle at the center. circle(width / 2, height / 2, 20);
// Draw a circle that moves from left to right. circle(frameCount * 0.01, 50, 20);
以下是算术运算符的简要概述:
1 + 2 // Add 1 - 2 // Subtract 1 * 2 // Multiply 1 / 2 // Divide 1 % 2 // Remainder 1 ** 2 // Exponentiate
常见的是使用算术运算更新数字变量。例如,可以像这样更新对象的位置:
x = x + 1;
上面的语句使用 +
运算符将 x
的值变为 x
+ 1。 加法赋值运算符 +=
表达了相同的意思:
x += 1;
以下是赋值运算符的简要概述:
x += 2 // Addition assignment x -= 2 // Subtraction assignment x *= 2 // Multiplication assignment x /= 2 // Division assignment x %= 2 // Remainder assignment
数字可以通过 relational operators 进行比较: >
,<< code="">,<code>>=</code>,<code><=< code="">,<code>===</code>,和 <code>!==</code>。 例如,绘图的 <a href="/reference/p5/frameCount">frameCount</a> 可以用作计时器:<!--=<--></code><!--<-->
if (frameCount > 1000) { text('Game over!', 50, 50); }
类似 frameCount > 1000
这样的表达式,会得出一个 Boolean
值, 要么是 true
,要么是 false
。关系运算符的运算结果都是 Boolean
值。
2 > 1 // true 2 < 1 // false 2 >= 2 // true 2 <= 2="" true="" !="=" false="" <="" code=""> <p>获取更多关于比较和条件的信息,请参阅 <a href="/reference/p5/Boolean">Boolean</a>。</p> <p>注意:还有少一个 <code>=</code> 的 <code>==</code> 和 <code>!=</code> 运算符,不要使用它们。</p> <p>当某些情况出错时,数字表达式也可以产生特殊值:</p> <code> sqrt(-1) // NaN 1 / 0 // Infinity </code> <p><code>NaN</code> 值表示非数字 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN" target="_blank">Not-A-Number</a>。 计算或转换失败时,返回 <code>NaN</code>。 <code>Infinity</code> 是一个大于任何数字的值,它会出现在某些计算中。</p> <!--=-->
示例
相关参考
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.