It's also possible to implement drop-down menus using CSS, with zero JavaScript.
However, for accessibility reasons, Son of Suckerfish[0] works a bit better. It moves hidden items out of the viewport instead of using display: none, thus making the menu usable to screenreaders users without them having to "hover". It would of course also be advisable, to expand the :hover to also inlclude :focus.