• Literal values and local variables can be accessed very quickly, whereas array items and object members take longer.
• Local variables are faster to access than out-of-scope variables because they exist in the first variable object of the scope chain. The further into the scope chain a variable is, the longer it takes to access. Global variables are always the slowest to access because they are always last in the scope chain.
• Avoid the with statement because it augments the execution context scope chain. Also, be careful with the catch clause of a try-catch statement because it has the same effect.
• Nested object members incur significant performance impact and should be minimized.
• The deeper into the prototype chain that a property or method exists, the slower it is to access.
• Generally speaking, you can improve the performance of JavaScript code by storing frequently used object members, array items, and out-of-scope variables in local variables. You can then access the local variables faster than the originals.