Ámbito
// Otro ejemplo: Función como objeto separado con un atributo + un método
function enteroUnico () {
var contador = 0;
function contar () { return contador++; };
return contar;
};
// asignamos el objeto función contar
var entero_unico = enteroUnico();
// enteroUnico() se puede instanciar
// otra vez creando otro contador único
var otro_entero_unico = enteroUnico();
// definición equivalente a la anterior
// sin dar nombres a las funciones.
var entero_unico = function () {
var contador = 0;
return function () { return contador++; };
} ();