I followed the tutorial "2D breakout game using pure JavaScript" by MDN, then added the following changes:
Status 1 allows the ball to launch at a key-press or mouse-click, instead of launching as soon as the page loads.
Status 3 allows the player to stay on the page after winning to enjoy the sight of the clean canvas, while manouvering the paddle.
Also fixed the unsatisfying bug that the last block remains on canvas after winning.
Ball speed can be updated before each launch, but real-time update of ball speed would be more ideal.