If the function object refers to a variable, it's the variable that was visible when the function object was created. makeConstN takes an argument; the function that it returns doesn't.

Results

function makeConstN(n) {
    return function() { return n; }
}
 
var const10 = makeConstN(10);
log(const10());
log(const10(100));
 
var const20 = makeConstN(20);
log(const20());
log(const20(100));