在 p5.js 中,要调用设置函数,您只需编写:
function setup() {
}
Run Code Online (Sandbox Code Playgroud)
他们是如何做到让你打电话function然后说出名字,而不是只说以下内容?
setup();
Run Code Online (Sandbox Code Playgroud)
要使用 p5.js,我们不调用该setup函数。我们定义一个setup在 p5.js 内部调用的函数。
如果我们的代码如下所示:
<script src="../p5/lib/p5.js"></script>
<script>
function setup() {
background(100, 0, 100);
}
</script>
Run Code Online (Sandbox Code Playgroud)
我们的setup函数被添加到全局window对象中,并且可以由 p5.js 内部的代码调用。如果我们在实例模式下运行,我们的setup函数不会直接添加到 window 对象,但 p5.js 仍然能够找到它并调用它。
为了简单起见,让我们重点关注上面我们编写的情况setup并将其附加到 window 对象。
查看 p5.js 源代码,我们看到一个名为的函数_setup,在该函数中代码如下:
if (typeof context.setup === 'function') {
context.setup();
}
Run Code Online (Sandbox Code Playgroud)
这就是我们setup被调用的地方。如果我们添加此警报:
if (typeof context.setup === 'function') {
if (context === window)alert("context is window");
context.setup();
}
Run Code Online (Sandbox Code Playgroud)
我们可以验证上下文对象确实是窗口对象并且_setup正在调用setup我们在代码中创建的函数。