A variable that is declared at function scope, but only used inside a single block should be declared in that block, and variables that are
declared inside a block but used outside of it (which is possible with a var-style declaration) should be declared outside the block.
function doSomething(a, b) {
var i; // Noncompliant; should be declared in if-block
if (a > b) {
i = a;
console.log(i);
var x = a - b; // Noncompliant; should be declared outside if-block
}
if (a > 4) {
console.log(x);
}
return a+b;
}
function doSomething(a, b) {
var x = a - b;
if (a > b) {
var i = a;
console.log(i);
}
if (a > 4) {
console.log(x);
}
return a+b;
}