用于绘制屏幕或画布的JavaScript API是什么?

用于绘制屏幕或画布的JavaScript API是什么?,javascript,canvas,Javascript,Canvas,过去,在使用JavaScript编程时,我使用了Khan Academy的Processing.js风格。在那里,这幅画很简单: fill(0x00, 0x00, 0xFF); rect(10, 10, 50, 45); 我很少使用vanilla JavaScript编程,因此我对它如何处理HTML的理解很差(除了使用标记是JS代码的作用之外),以及各种用于图形和用户输入的“标准”API是什么。这取决于您所说的“没有任何HTML”是什么意思。Canvas是一个HTML元素,所以总会有一些HTM

过去,在使用JavaScript编程时,我使用了Khan Academy的
Processing.js
风格。在那里,这幅画很简单:

fill(0x00, 0x00, 0xFF);
rect(10, 10, 50, 45);

我很少使用vanilla JavaScript编程,因此我对它如何处理HTML的理解很差(除了使用
标记是JS代码的作用之外),以及各种用于图形和用户输入的“标准”API是什么。

这取决于您所说的“没有任何HTML”是什么意思。Canvas是一个HTML元素,所以总会有一些HTML被卷入其中。即使您直接通过JavaScript访问DOM,也需要一个HTML页面作为“挂载”点,并作为加载JS代码的工具

如果不想编写包含画布的页面,可以在应用程序开始时将其附加到页面,如下面的代码段所示

var canvas=document.createElement('canvas');
var c2d=canvas.getContext(“2d”);
document.body.appendChild(画布);
c2d.fillStyle=“rgb(164228252)”;

c2d.fillRect(0,0,20,20)没有任何HTML是什么意思?
API希望与浏览器中呈现的HTML元素交互。您是否在浏览器环境之外创建JS游戏?如果是这样,就不能使用画布。此外,离线与HTML无关。您可以创建在没有Internet连接的情况下在本地运行的HTML页面。即使是纯JS游戏(在浏览器中)也需要创建和修改HTML,即使您传统上不在
.HTML
文件中创建和修改HTML。您可以使用不需要DOM或HTML的屏幕外画布。支持是有限的,并不是所有的上下文都被完全实现。因为它们独立于DOM,所以您还可以在workers中使用它们,为渲染提供多线程选项。V8的支持有限,因此基于V8的系统将有一个画布进行渲染。