[link|http://developer.yahoo.com/yslow|Link for YSlow].
I'm probably being stubborn, but I like the freedom of semi-colons being optional and tend to omit then when I can. Since they're required in widespread languages C, Java, PHP and Perl, I think some people that argue for their use in Javascript may simply be highly unfamiliar with programming without them. But I program in Icon, too, where (like in Javascript) semi-colons are optional for the same reasons and with the same rules. I have not ever had Javascript's semi-colon insertion do something unpredictable, BTW.
Similarly, for braces around single-statement blocks. I look for the indent, anyway, so braces in that case are not a help.
At least JSLint doesn't apply its normal whitespace rules: I much prefer if( a == b ) over if (a == b). JSLint prefers the latter. A colleague in a former workplace thought I was mad, but wasn't going to argue over it. Some weeks later he voluntarily said he decided he liked my method because it was more readable! :-D
The = vs == one has caught me on occassion over the years, in C, PHP and Javascript, though not very often. I like your solution. I might try that.
Wade.