Both Chrome and Safari report this is illegal. They report "unexpected token 'this'" pointing at the 'this.b'. Here is the minimum code needed to show the problem:
function x(){ this.a = function() {} this.b = function() {} }
It only happens if the two declarations are on the same line. Any ideas? Looks legal to me.
It's annoying because this is what comes out of a Javascript minifier.