第 5 课 15 / 18 | 编码:L05-21
比较与审查

代码对照:差异会带来什么?

A、B 依次在同一画布执行。为什么一个看不到标题?默认不透明填充、source-over 合成。

写法 A

ctx.fillStyle = 'white';
ctx.fillText('分享会', 30, 60);
ctx.fillStyle = 'navy';
ctx.fillRect(0, 0, 300, 150);

写法 B

ctx.fillStyle = 'navy';
ctx.fillRect(0, 0, 300, 150);
ctx.fillStyle = 'white';
ctx.fillText('分享会', 30, 60);

提问:指出关键差异,给出适用条件或反例;不要仅以代码长短判断。以上为对照片段,阅读其前提后再分析。

查看参考解析

A 的背景后画,覆盖标题;B 先背景再文字。函数名或语句是否“正确”不足以判断,执行顺序也决定结果。