There are two things to note:
- Being interpreted or compiled isn't really a property of a language, but of an implementation. One language can have multiple interpretations, e.g. one compiled and one interpreted. (That said, usually one of the two is dominant, because language design facors one or the other).
- Just-in-time compilation, as well as compilation to an intermediary bytecode, kind of blurs the lines a bit, so the line is not clear-cut for all languages (e.g. Java has a compilation step, but not to something a computer can direcetly run; it runs on a VM which often JIT-compiles further at runtime).
That said, JS is shipped as source instead of binaries, and any up-front-compiled version would need to include an interpreter to be able to run all JS code as there isn't enough static information. So I would say interpreted is the usual implementation of JS.
Closures can work in interpreted languages just fine, perhaps more easily. Actually, almost nothing is easier for a compiler than for an interpreter, except getting good performance, because there's always more information at runtime than at compile-time.