вот вам замыкания
<html>
<head><title>example</title></head>
<body>
<script>
function base (a) {
function fn () {
console.log(this);
return a;
}
return fn;
}
var res1 = base(1);
var res2 = base(2);
console.log(res1);
console.log(res2);
console.log(res1.call({}));
console.log(res1());
console.log(res2.call({}));
console.log(res2());
</script>
</body>
</html>