I got a JavaScript error when running codes below:
<!DOCTYPE html>
<meta charset="utf-8">
<title>Untitled Document</title>
<script>
var fn = function () {
//var aaa = 'AAA';
return function () {
alert(aaa);
};
}();
var foo2 = function () {
var aaa = 'BBB';
(function () {
alert(aaa); // 'BBB'
})();
fn(); // Error: Uncaught ReferenceError: aaa is not defined
}();
</script>
I think when fn function running, it should be able to find aaa in foo2 function.
But I got error. Why?
Thank you!