Description
As someone who has no previous JavaScript knowledge, the Scope problem is quite frustrating. Even though the introduction does a good job defining scope, I was not prepared to follow the code example.
Comments need to be added next to console.log
to indicate that when we pass the argument within bar
back to the function, var b = 2
will be ignored. I'm sure I haven't phrased that well, but it's a starting point.
Also, what purpose does the line foo(); // 4, 2, 48
serve? I understand that foo is the function's name, and the comments next to it are the values of these variables, but this statement is just sitting there. We need context. What would including foo();
at the end of this program do when we run it?
I also don't believe the IIFE section adds any relevant information to this problem. It is distracting.
Now moving on to the challenge, I don't understand why there is )();
after every closing }
. I suppose that ties back to the foo();
in the example code, but I don't understand its usage.