JavaScript y Java no son lo mismo. Pueden compartir un nombre similar, pero lo remito al JS guru - Douglas Crockford para ayudar a aclarar el hecho de que en realidad no están relacionados.
La realidad es que no hay nada que Java es un lenguaje interpretado, y hay igualmente nada que impida JavaScript es un lenguaje compilado (motor JavaScript de Chrome sí hace la compilación para mejorar la velocidad, y hace un muy buen trabajo de ella).
En el contexto del navegador, Java se ejecuta de la misma manera que Flash o Silverlight: se requiere un complemento y el navegador actúa como un host para ese complemento; que aloja un entorno de tiempo de ejecución de Java.
Javascript fue diseñado para ser un lenguaje de scripting para el navegador, y es por eso que el navegador puede entenderlo de manera nativa. Cómo el navegador realmente logra la ejecución de ese código, sin embargo, depende exclusivamente del navegador. Es decir, puede operar puramente a nivel de script, suponiendo que no tiene conocimiento de la siguiente línea de código y ejecuta una pila puramente basada en software; o puede realizar algunos JIT para acercar el código al hardware y (con suerte) mejorar la velocidad.
JavaScript es interpretado por el navegador, no por el hardware real de la computadora (como el conjunto C) para uno. – thatidiotguy
@thatidiotguy wat. JavaScript rara vez se interpreta en estos días (la V8 de la fama de Chrome ni siquiera * tiene * un intérprete), "ensamblaje en C" no tiene ningún sentido, y el código de ensamblaje no se ejecuta en absoluto, es simplemente simple de convertir en codigo de maquina. Aunque tengo que darte apoyos para darte cuenta de que el código de la máquina también se interpreta al final del día. – delnan
posible duplicado de [Compiled vs. Interpreted Languages] (http://stackoverflow.com/questions/3265357/compiled-vs-interpreted-languages) – jbabey