Una variable es un identificador simbólico que mantiene una asociación dinámica con un valor en tiempo de ejecución, dentro de un entorno de ejecución determinado.
local foo = 1
La palabra clave local declara una variable con alcance léxico limitado al scope actual, creando un binding explícito entre un identificador y un valor dentro del entorno de ejecución activo.
var foo = 3
La palabra clave var declara una variable en el contexto de ejecución actual, creando un binding dinámico entre un identificador y un valor dentro del entorno activo, conforme a las reglas de resolución de nombres del lenguaje.