Hey folks, I have a question on this function that has me confused for the whole day now. Maybe I’m just looking at it wrong or doing the calculations wrong. I am reading up on the Book 2 Scope and Closure of YDKJS and in Chapter 3 on topic “Hiding In Plain Scope” the author writes the function:

```
function doSomething(a) {
function doSomethingElse(a) {
return a - 1;
}
var b;
b = a + doSomethingElse( a * 2 );
console.log( b * 3 );
}
doSomething( 2 ); // 15
```

Shouldn’t this return 12 instead of 15?

I’m thinking its doSomething(2) so a = 2,

so it should be b = (2 + doSomethingElse((2 - 1) * 2)), which is 4.

Then console.log(b * 3) would be 4 * 3 = 12.

Confused…any clarification would be greatly appreciated.