http://www.jasob.com/ - commercial product
HackerNews discusses pros, cons, and impossibilities of JS obfuscation
- It’s very hard to reliably obfuscate Java Script because the language is dynamic enough that you might refer to object fields or function names through dynamically-computed strings. Any attempt to obfuscate these runs up against the halting problem. So you have to rely on conservative approximations...
NOTE: I’ve not used an objfuscator in practice; just not worth the bother for me at this point. Who knows what the future might hold, however....