For each of the following, try to work out what the output will be. Run the code to check your answer.
var a = 12;
(function () {
alert(a);
})();
var a = 5;
(function () {
var a = 12;
alert(a);
})();
var a = 10;
var x = (function () {
var a = 12;
return function () {
alert(a);
};
})();
x();
var a = 10;
var x = (function () {
var y = function () {
var a = 12;
};
return function () {
alert(a);
};
})();
x();
var a = 10;
var x = (function () {
(function () {
a = 12; // <<< look carefully at this line.
})();
return function () {
alert(a);
};
})();
x();
var a = 10;
(function () {
var a = 15;
window.x = function () {
alert(a);
};
})();
x();