Implied Globals
foo="I'm a global foo."
bar="I'm a global bar."
function xyz() {
var foo="I'm a local foo"
bar = "I'm a local bar" // the implied global
}
This can make it really hard to see where your variables might be getting modified, for example:
function showextrafoo1() { alert(extrafoo1) };
.. nothing shows, as 'extrafoo1' is undefined
<input type="button" onclick="extrafoo1='yo, yo'" value="create extrafoo1">
If it gets defined in an event handler...
It is now defined globally!
Thus, always use var:
<input type="button" onclick="var extrafoo2='ho ho'" value="create extrafoo2">
extrafoo2 does not materialize in the global scope to create potential havoc...
Return the Boolean equivalent of a value
>>>"hello" "hello" >>>!!"hello" true >>>"" "" >>>!!"" false