I saw this about recursive function -

```
function factorial( n ) {
if ( n === 1 ) {
return 1;
}
return n * factorial( n - 1 );
}
```

And the explanation being given here -

```
factorial( 3 ) is 3 x factorial( 2 ).
factorial( 2 ) is 2 x factorial( 1 ).
factorial( 1 ) meets our if condition, so it’s just 1.
```

Now some how as i am thinking how can factorial(2) or factorial(3) resolve to values of 2 , 3 in this case , as there is no where saying it should return n …

Also how do they multiply with each other after each step

I am really sorry i was able to grasp it some 6 months back but right now i am totally at loss …

Thanks