더북(TheBook)

중첩된 if 문이 존재하지만 중첩을 제거하지 않는 편이 코드를 읽기 더 편합니다. 읽기 쉬운 코드를 만드는 게 더 우선입니다.

그림 8-7 보너스 숫자가 나오지 않음

그런데 실행해 보면 alert() 대화상자가 보너스 공보다 더 먼저 보입니다. alert() 메서드는 화면을 그리는 동작보다 더 먼저 실행되는 현상이 있습니다. 따라서 화면이 그려지기까지 조금 기다리면 됩니다. 얼마나 기다려야 할지 궁금할 텐데 다음 코드처럼 0초만 기다려도 문제가 해결됩니다. 화면을 그리는 코드(drawBall())와 alert() 사이에 비동기 함수가 있기만 하면 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.