Hey for those who think they really know javascript, what do you think the following code will do:
var foo = 1;
function bar() {
if(!foo) {
var foo = 10;
}
console.log(foo);
}
bar();
Then, run the following
http://jsfiddle.net/dodozhang21/NaLxn/
Were you expecting 1? so WTF?
Look up javascript hoisting 🙂
That’s why jslint says to always define variables at the beginning of a function. What do you think console.log( 20.61 – .1 ) outputs?
yup. all floating point math has rounding issues tho not really a unique problem to javascript