escope is a neat project extracting scopes from JS: https://github.com/estools/escope (hl-sexp-mode is great for lisp, similar tools would help JS!)
miniblog.
Related Posts
The excellent 'linked lists in Rust' has a section on lifetimes: http://t.co/ndcTrTMUIb It compares lifetimes with pointers to scopes.
The arguments variable in JS is always there, but taking a parameter called 'arguments' overrides it in all scopes. It's a pseudo keyword!