ueruxon
@ueruxon
Только начал учится.

По заданию. Как изменить глобальную переменную из функции?

var balance = 10500;
var cameraOn = true;

function steal(balance, amount) {
 	cameraOn = false;

 	if (amount < balance) {
 		balance = balance - amount;
 	}

 	return amount;

 	cameraOn = true;
 	console.log("Не работает");
}
var amount = steal(balance, 1250);

console.log("Criminal: you stole " + amount + "!" + " И оставил на счету " + balance);


Есть код, понятно что работает не так как нужно, и знаю где ошибки. Но все равно не могу ни как их понять и осмыслить.
По идее, amount должен воровать с баланса указанное число. И при этом, баланс так же должен изменятся с вычетом.
Но код не работает, потому что переменная Баланс глобальная и все такое. Но все же, как заставить код работать? чтобы и баланс менялся и amount работал как надо. Ведь в других заданиях return работает как надо, и переменная заменяется (наверно). В общем, не совсем понимаю эти копии, замены и return.
Может кто чуть подробнее объяснить почему не работает как надо, и что сделать чтобы заработало? Спасибо.
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
var balance = 10500;
var cameraOn = true;

function steal(amount) {
 	cameraOn = false;

 	if (amount < balance) {
 		balance = balance - amount;
 	}

 	return amount;

 	cameraOn = true;
 	console.log("Не работает");
}
var amount = steal(1250);
console.log("Criminal: you stole " + amount + "!" + " И оставил на счету " + balance);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
window['balance'] = ...
// или
window.balance = ...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы