As often as I program in JavaScript myself, and warn other people about the &quot;this&quot; binding problem (it&#x27;s really hard to explain to newbies, but important), I get nailed by it all the time myself. I just can&#x27;t seem to remember to go out of my way every time and use &quot;var self = this;&quot; or call bind, and it&#x27;s quite easy to miss it when visually inspecting code. It&#x27;s the first thing I look for when things goes inexplicably wrong. The second thing is variables changing out from under closures in loops.<p>I am looking forward to the time that most major browsers support =&gt; and let.