You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
var age = 7;
function addOne (x) {
x = x +1;
}
addOne(age);
document.write(age);
I'm gonna break this down the way I have understood.
So, we have a function called addOne which adds 1 to the value it accepts, right?
And then we call the function with an argument of the value 7. So, now the function adds 1 to 7 and age is 8.
But why is it that when I print out the value of age, it prints out 7 ??
The text was updated successfully, but these errors were encountered:
That's because JavaScript uses "pass by value". That means the value 7 gets copied into the variable x. You increase the variable x, but that doesn't change the value of age because they are two different variables.
If you want to change the value of age, you'd write it like this:
var age = 7;
function addOne(x) {
x = x + 1;
return x;
}
age = addOne(age);
document.write(age);
Here, if we return the value of x (which is now 8), and store that new value in age, then age will be 8. Do you see the difference?
var age = 7;
function addOne (x) {
x = x +1;
}
addOne(age);
document.write(age);
I'm gonna break this down the way I have understood.
So, we have a function called addOne which adds 1 to the value it accepts, right?
And then we call the function with an argument of the value 7. So, now the function adds 1 to 7 and age is 8.
But why is it that when I print out the value of age, it prints out 7 ??
The text was updated successfully, but these errors were encountered: