A variable with lexical scope, i.e. one which only exists in some particular part of the source code, typically within a block or a function or procedure body. This contrasts with a global variable, which is defined throughout the whole program.
Code is easier to understand and modify when the scope of variables is as small as possible because it is easier to see how the variable is set and used. Code containing global variables is harder to modify because its behaviour may depend on and affect other sections of code that refer to that variable.