1.ctx.save() 和 ctx.restore()的使用 因为ctx是一个全局对象,ctx.save()的时候保存了ctx当前的状态值,然后你执行了一些值的修改,比如改变阴影大小,在函数最后调用ctx.restore()方法将ctx之前的状态值还原回去。 当楼主注释掉save和restore后,这时调用draw函数时ctx的画笔状态就不会保存与还原 2.星星 月亮 流星 canvas的使用 参考链接:https://www.jianshu.com/p/caeb71af0c67