JavaScript 代码如何在不调用函数的情况下工作?

How is this JavaScript code working without invoking the functions?

这是代码 https://codepen.io/p5js/pen/wreBKy 的代码笔。 canvas 不应该只在我用 setup() 调用函数时创建吗? ?

HTML

<html>
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.11/p5.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.11/addons/p5.dom.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.11/addons/p5.sound.min.js"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
  </head>
  <body>
    <script src="sketch.js"></script>
  </body>
</html>

CSS

html, body {
  margin: 0;
  padding: 0;
}

JavaScript

function setup() { 
  createCanvas(400, 400);
} 

function draw() { 
  background(220);

}

不完全是,setupdraw 函数很特殊,p5 库在看到您在全局命名空间中声明它们时会自动调用它们。

也就是说,您不必手动调用它们,图书馆会在最适合您的时间调用它们。

您可以在 p5 文档的 Get Started 部分阅读更多相关信息。