javascript - 用 Math.Pi 计算不会报错?

标签 javascript html5-canvas

我正在编写一些 Canvas 代码来绘制一个圆,但它从未被绘制过。最后我发现这是因为我输入了 Math.Pi 而不是 Math.PI

在 Chrome 开发工具中,我可以看到 Math.Piundefined,但它从未抛出任何异常。这是 Chrome 中的错误还是对 undefined 进行计算实际上合法?

这是我的代码:

ctx.save();
ctx.lineWidth = 2;
ctx.fillStyle = '#FF0000';
ctx.beginPath();
ctx.arc(can.x, can.y, 15, 0, Math.Pi * 2, true);
ctx.fill();
ctx.restore();

ctx 引用canvas.getContext("2d");

最佳答案

undefined * 2 的计算结果为 NaN,并且 canvas 2D context specification说:

Except where otherwise specified, for the 2D context interface, any method call with a numeric argument whose value is infinite or a NaN value must be ignored.

因此,一个参数为 NaNctx.arc 调用意味着该调用会被静默忽略(即什么都不绘制),而不是抛出错误。

关于javascript - 用 Math.Pi 计算不会报错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8552736/

相关文章:

javascript - 选择具有特定 anchor 标记文本的 li 标记

javascript - 移至顶部功能在 kineticJs 中不起作用

ios - 如何防止 sceneFunc() 每次都清除上下文?

javascript - 使用 FabricJS 克隆组的问题(复制和粘贴)

javascript - 数组中什么是空的?例如[空×5]

javascript - 我的代码中 request.end 的监听器有什么问题

javascript - 如何使这个 JavaScript/jQuery 代码更短

asp.net - 使用 jQuery Flexigrid 对列进行排序

javascript - 在 Canvas 矩形(按钮)内居中文本

javascript - Fabricjs - 如何在不释放鼠标按钮的情况下取消选择一个对象并选择一个组