# JavaScript question

**URL:** <https://forum.freecodecamp.org/t/javascript-question/139288>\
**Category:** General\
**Created:** [July 31, 2017, 7:46pm UTC](https://forum.freecodecamp.org/t/javascript-question/139288 "2017-07-31T19:46:15Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![DennisM83](https://avatars.discourse-cdn.com/v4/letter/d/c0e974/32.png) [@DennisM83](https://forum.freecodecamp.org/u/DennisM83)\
**Post date:** [July 31, 2017, 7:46pm UTC](https://forum.freecodecamp.org/t/javascript-question/139288/1 "2017-07-31T19:46:15Z")

</div>

what is the output of this code?

function doIt(param) {  
param = 2;  
}

var test = 1;  
doIt(test);  
console.log(test);

I’m learning about pass-by-value and I think its either two or twenty-one. Can someone let me know the correct answer. If it’s not one of the answers I have, could you explain?

---

<div class="post-metadata">

**Author:** ![DennisM83](https://avatars.discourse-cdn.com/v4/letter/d/c0e974/32.png) [@DennisM83](https://forum.freecodecamp.org/u/DennisM83)\
**Post date:** [July 31, 2017, 8:03pm UTC](https://forum.freecodecamp.org/t/javascript-question/139288/3 "2017-07-31T20:03:15Z")

</div>

Oh okay, that makes sense. Thanks!

---

<div class="post-metadata">

**Author:** ![rickstewart](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/rickstewart/32/66490_2.png) [@rickstewart](https://forum.freecodecamp.org/u/rickstewart)\
**Post date:** [July 31, 2017, 8:13pm UTC](https://forum.freecodecamp.org/t/javascript-question/139288/4 "2017-07-31T20:13:20Z")

</div>

should it not be console.log(dolt(test));

---

<div class="post-metadata">

**Author:** ![inder23](https://avatars.discourse-cdn.com/v4/letter/i/e9bcb4/32.png) [@inder23](https://forum.freecodecamp.org/u/inder23)\
**Post date:** [July 31, 2017, 8:14pm UTC](https://forum.freecodecamp.org/t/javascript-question/139288/5 "2017-07-31T20:14:57Z")

</div>

Also I wanted to point out that your doIt function does not return any value.

function doIt(param) {  
param = 2;  
}

var test = 1;  
doIt(test);  
console.log(test);

You are passing test(which has value of 1) into the function, the function is doing some work but not returning any value, and then you are printing test(still has the value of 1 as it was not changed) to the console.

---

<div class="post-metadata">

**Author:** ![rickstewart](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/rickstewart/32/66490_2.png) [@rickstewart](https://forum.freecodecamp.org/u/rickstewart)\
**Post date:** [July 31, 2017, 8:20pm UTC](https://forum.freecodecamp.org/t/javascript-question/139288/6 "2017-07-31T20:20:57Z")

</div>

> [@inder23](#):
>
> function is doing some work but not returning any value

I believe the return is implicit, the javascript function returns the result of the last statement, in this case param = 2, or just return = 2.

EDIT:: I looked it up and it seems it with actually return “undefined” if no return statement is provided. I was thinking of Ruby which returns the result of the last statement executed in a function if no Return is explicitly provided. Hard to keep some details straight between different languages…

---

<div class="post-metadata">

**Author:** ![inder23](https://avatars.discourse-cdn.com/v4/letter/i/e9bcb4/32.png) [@inder23](https://forum.freecodecamp.org/u/inder23)\
**Post date:** [July 31, 2017, 8:26pm UTC](https://forum.freecodecamp.org/t/javascript-question/139288/7 "2017-07-31T20:26:20Z")

</div>

yeah that seem’s like a good idea as you would probably want to return the result of the function you just called.

but in this case you would get the result ‘undefined’ as the doIt function does not return any vaue.

---

<div class="post-metadata">

**Author:** ![rickstewart](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/rickstewart/32/66490_2.png) [@rickstewart](https://forum.freecodecamp.org/u/rickstewart)\
**Post date:** [July 31, 2017, 8:27pm UTC](https://forum.freecodecamp.org/t/javascript-question/139288/9 "2017-07-31T20:27:31Z")

</div>

you were too fast for me! LOL

---

<div class="post-metadata">

**Author:** ![ILM](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/ilm/32/363239_2.png) [@ILM](https://forum.freecodecamp.org/u/ILM)\
**Post date:** [January 17, 2021, 8:46pm UTC](https://forum.freecodecamp.org/t/javascript-question/139288/10 "2021-01-17T20:46:35Z")

</div>


