JavaScript has two interesting features: higher-order functions and prototypial inheritance. If you understand these two and you know at least one other curly-brace language, you basically understand JavaScript. Because you're in a hurry, the following explanation of these two concepts is extremely condensed. Read everything carefully and you'll be a JavaScript expert faster than you can say "Antidisestablishmentarianism".

Higher-order functions

In JavaScript, everything is an object (that is a lie, but for the sake of this article let's pretend that it's true). Functions are objects, too. You can assign functions to variables, you can have functions return other functions and you can have functions accept other functions as parameters.