I had a piece of code that looked like this:
function add_to_form(f, all_day) {
console.log(all_day);
if (all_day)
$('input[name="all_day"]', f).val('1');
else;
$('input[name="all_day"]', f).val('');
console.log($('input[name="all_day"]', f).val(''));
return f;
}
When I ran it, the console output was this:
true
(an empty string)
What had happened was that I had accidentally put a semi-colon after the else
statement. Accidentally as in stumbled on the keyboard. I didn't spot it because semi-colons are so common in JavaScript that you sort of go blind to them.
The wart was that it didn't cause a syntax error. IMHO it should have because you'd expect there to always be something happening after the else
.
So instead of using the shortcut notation for if statements I've decided to write it out in full instead:
function add_to_form(f, all_day) {
if (all_day) {
$('input[name="all_day"]', f).val('1');
} else {
$('input[name="all_day"]', f).val('');
}
return f;
}
Optimizers like Google Closure will do a much better job optimizing the code than I ever will anyway.
Comments