The thing is, JavaScript is not as simple as HTML or CSS. You can change the page's contents or the style at will and it just updates, but if you change the code... well, say you change myvar = 1
to myvar = 9999999
- that's quite a difference, and that could have an enormous impact on the page. Reloading is the only way around it.
However if you have a console on Firebug, you can redefine individual functions by copying their source, replacing the contents with something new, and assigning the new function to the old one's name. Just beware that you lose the closure the function was in if you do that.