Есть код:
function fun (block1, block2, block3, block4) {
var summa = Number(block1) + Number(block2) + Number(block3) + Number(block4);
return block1, block2, block3, block4;
}
var block1 = prompt('Число 1: ');
var block2 = prompt('Число 2: ');
var block3 = prompt('Число 3: ');
var block4 = prompt('Число 4: ');
document.write('Сумма введенных чисел равна: ' + СЮДА ВЫВЕСТИ summa);
Как вывести в document.write сумму подсчитанную в локальной переменной summa / как вывести в глобальный.
JavaScript
Помогите с JavaScript (локальные/глобальные переменные/функции)
Keri En
Спасибо
1. вернуть ее из функции.
2. сделать глобальной
2. сделать глобальной
Keri En
а как объясните
Глобальные переменные-зло!
Keri En
почему
Владимир Киселев (Младший)
Да, потому-то их в JavaScript и не бывает.
// объявляем и инициализируем переменные
var block1 = 'Число 1',
block2 = 'Число 2',
block3 = 'Число 3',
block4 = 'Число 4';
// записываем переменные в 1 массив
var array = [block1,block2,block3,block4];
// регулярное выражение
var regular = /\d+/;
/* *****ГЛОБАЛЬНАЯ****** */
// запускаем цикл
// проходимся по каждому элементу массива
// выносим числа и преобразуем строчный элемент в числовой и перезаписываем массив
for(var i = 0; i < array.length; i++){
array[i] = Number(regular.exec(array[i]));
}
// объявляем и инициализируем переменную summa_global
var summa_global = array[0] + array[1] + array[2] + array[3];
// ВЫВОДИМ ГЛОБАЛЬНУЮ ПЕРЕМЕННУЮ
document.write('ГЛОБАЛЬНАЯ - Сумма введенных чисел равна: ' + summa_global + '
');
/* *****ЛОКАЛЬНАЯ****** */
// создаем функцию
function fun (block1, block2, block3, block4) {
// объявляем и инициализируем локальную переменную
var array = [block1,block2,block3,block4];
// проходимся по каждому элементу массива, выносим числа и преобразуем строчный элемент в числовой и перезаписываем массив
for(var i = 0; i < array.length; i++){
array[i] = Number(regular.exec(array[i]));
}
// объявляем и инициализируем переменную summa_global
var summa_local = array[0] + array[1] + array[2] + array[3];
// возвращаем локальную переменную из функции
return summa_local;
}
// инициализация функции
var summa_local = fun(block1,block2,block3,block4);
// ВЫВОД ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ
document.write('ЛОКАЛЬНАЯ - Сумма введенных чисел равна: ' + summa_local + '
');
var block1 = 'Число 1',
block2 = 'Число 2',
block3 = 'Число 3',
block4 = 'Число 4';
// записываем переменные в 1 массив
var array = [block1,block2,block3,block4];
// регулярное выражение
var regular = /\d+/;
/* *****ГЛОБАЛЬНАЯ****** */
// запускаем цикл
// проходимся по каждому элементу массива
// выносим числа и преобразуем строчный элемент в числовой и перезаписываем массив
for(var i = 0; i < array.length; i++){
array[i] = Number(regular.exec(array[i]));
}
// объявляем и инициализируем переменную summa_global
var summa_global = array[0] + array[1] + array[2] + array[3];
// ВЫВОДИМ ГЛОБАЛЬНУЮ ПЕРЕМЕННУЮ
document.write('ГЛОБАЛЬНАЯ - Сумма введенных чисел равна: ' + summa_global + '
');
/* *****ЛОКАЛЬНАЯ****** */
// создаем функцию
function fun (block1, block2, block3, block4) {
// объявляем и инициализируем локальную переменную
var array = [block1,block2,block3,block4];
// проходимся по каждому элементу массива, выносим числа и преобразуем строчный элемент в числовой и перезаписываем массив
for(var i = 0; i < array.length; i++){
array[i] = Number(regular.exec(array[i]));
}
// объявляем и инициализируем переменную summa_global
var summa_local = array[0] + array[1] + array[2] + array[3];
// возвращаем локальную переменную из функции
return summa_local;
}
// инициализация функции
var summa_local = fun(block1,block2,block3,block4);
// ВЫВОД ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ
document.write('ЛОКАЛЬНАЯ - Сумма введенных чисел равна: ' + summa_local + '
');
Андрей Базанов
переменные созданные в функции - имеют локальную область видимости если задать
переменную с помощью "var" например: var local = 1;
а если так: global = 1; - то мы получаем глобальную переменную
надеюсь я понятно объяснил)
но лучше так не делать а возвращать из функции с помощью "return", например: return local = 1;
переменную с помощью "var" например: var local = 1;
а если так: global = 1; - то мы получаем глобальную переменную
надеюсь я понятно объяснил)
но лучше так не делать а возвращать из функции с помощью "return", например: return local = 1;
Похожие вопросы
- Локальные и глобальные переменные
- Как объявить глобальную переменную внутри функции в js?
- У javascript есть аналог этих функций и методов, как в python?
- Помогите доделать! JavaScript
- глобальные/локальные переменные в JavaScript
- Целесообразно ли хранение синтаксиса javascript в переменной?
- Объясните мне, пожалуйста, что это за аргументы функции в javascript ( function(arg1, arg2, ..) ).
- Почему split не работает и правильно ли написана функция? javascript. Помогите, пожалуйста
- Вопрос по JavaScript, обращение к функции, которая находится в функции...
- JavaScript. Как проверить, была ли определена переменная?