У вас нет прямого доступа к переменной, поскольку она находится в области действия этой функции.Однако вы могли бы сделать эти функции возвращаемыми вместо входа в функции.Преимущество здесь заключается в модульности.Вам не нужно постоянно обновлять свои записи в журнале, вы можете просто использовать их как функции расчета.
Например:
var year = prompt(" Enter year of birth: ");
function calcAge(Year){
return 2019 - year;
}
var retAge = prompt(" What age do you plan to retire? ");
function calcRet(){
return retAge - calcAge(year);
}
console.log('Your age is: ' + calcAge());
console.log(" You have " + calcRet()+ " years to retire. ");
Другой вариант - отслеживать значения через главный объект.Это своего рода Сорта, однако, использует глобальный var.
var responses = {}
responses['year'] = prompt(" Enter year of birth: ");
function calcAge(){
responses['age'] = 2019 - responses.year;
console.log(" Your age is " + responses.age);
}
responses['retAge'] = prompt(" What age do you plan to retire? ");
function calcRet(retAge){
var yearsToRet = responses.retAge - responses.age;
console.log(" You have " + yearsToRet + " to retire. ");
}
calcAge();
calcRet();