Y/W. Thank you for editing the title as well. I hope I did an OK job of explaining which scope is active for 'this' during callback.
I often use JSLint to find syntax errors and typos. Another 'gotcha' I often run into is a reference to variables or fields where I specify the wrong casing. Note that JSLint will NOT catch this type of error.
For example:
var o = {}; o.myField = 123; System.print(o.MyField);