Japan was already in control of most of the Pacific
Against a strong Japanese navy
Japan
Japan was not aware before or during the attack that the US knew of the attack and therefore were careless. This carelessness aided to the defeat of the Japanese.
The general, Yamamoto, created a very complex plan that required perfect timing
Mistake-- most of the first fired shots by the Japanese missed the US's fleet
This is a map version of the battle and how it played out.
http://www.ibiblio.org/hyperwar/USN/USN-CN-Midway/index.html