A linebreak indicates, in most cases, the end of a statement; a semicolon is automatically inserted for you. 2. Short of making runtimes easier to implement, there’s no compelling reason not to use with. Consider the following code: One of the things that with allows here is to not repeat yourself unnecessarily, which, in my book, is an advantage. 3. Actually, it’s really convenient to be able to reference the currently called function this way, for example if you want to do a recursive call (as an alternative you can give your function a name). Strict mode is great if you really know what you’re doing, but if you do so, you don’t need to use strict mode (I call it “straight-jacket mode”, personally). 4.
Use a configuration object The use of a configuration object makes it makes it easier to write clean APIs that don't need to take a huge long list of parameters. Note: The closure is the object literal returned from annoymous function. The convention is that constructor functions should begin with a capital letter. Now for some planets. Then...