JS 003: Constant Declarations in Loops
by Nico D
JavaScript
var version = 1;
var exampleNumber = 1;
const log = function(message) {
if (version < exampleNumber) {
version = exampleNumber;
document.write("<br/>");
}
const title = 'EXAMPLE ' + exampleNumber + ': ';
document.write(title + message + "<br/>");
};
//////////////////////
exampleNumber = 1;
try {
var funcs = [];
for (const i = 0; i < 10; i++) {
funcs.push(function() {
log(i);
});
}
} catch (e) {
log("ERROR => " + e.message);
}
//////////////////////
exampleNumber = 2;
try {
var funcs2 = [],
object = {
a: true,
b: true,
c: true
};
// doesn't cause an error
for (const key in object) {
funcs2.push(function() {
log(key);
});
}
funcs2.forEach(function(func) {
func();
});
} catch (e) {
log("ERROR => " + e.message);
}