Witam.
Przerabiam książkę, "... JavaScript, rusz głową" i tam jest takie zadanie do rozwiązania:
var balance = 10500;
var cameraOn = true;
function steal(balance, amount){
cameraOn = false;
if (amount < balance){
balance = balance - amount;
}
return amount;
cameraOn = true;
}
var amount = steal(balance, 1250);
console.log(amount);
console.log(balance);
console.log(cameraOn);
Dlaczego zmienna balance nadal posiada wartość 10500 po wykonaniu skryptu? W rozwiązaniu jest napisane, że balance z parametru funkcji przesłania początkową zmienną globalną var balance. Ale jeśli wywołam na początku funkcji ...
function steal(balance, amount){
console.log(balance);
...
to w konsoli balance ma poprawnie 10500. Dlaczego ta wartość nie jest pomniejszona o wartość 1250;
Jeśli pytanie wydaje się Wam infantylne, to proszę o wyrozumienie... dopiero się tego uczę.