Далее на странице...
В этом заметке мы передавали в функцию (в качестве ее параметров) числа и переменные.
Переменные содержали произвольные числовые значения, с которыми проводилась работа в теле функции (числа складывались, умножались и т.п.).
При работе с функциями важно понимать, каким образом ей передаются переменные?
Что происходит со значениями этих переменных?
Так вот, Javascript копирует значение переменной в функцию, а исходное значение переменной останется прежним.
Рассмотрим пример:
1) Допустим, есть произвольная переменная test, принимающая числовое значение 1.
var test = 1;
2) И функция doIt с параметром param, которая увеличивает значение этого параметра на 1, а затем его возвращает.
function doIt(param) {
param = param + 1;
return param;
}
3) Что произойдет, если аргументом функции в качестве ее параметра указать переменную test?
Пример передачи переменной в функцию
<script type="text/javascript">
var test = 1;
function doIt(param) {
param = param + 1;
return param;
}
result = doIt(test);
document.write("Результат работы функции: " + result);
document.write("<p> Исходное значение переменной: " + test);
</script>
Результат работы функции: 2
Исходное значение переменной: 1
Комментарии: как происходит передача переменной в Функцию?
-
Сначала мы вызываем функцию и передаем ей в аргументе переменную test (указываем ее в качестве параметра функции).
doIt(test);При этом в функцию передается значение переменной, то есть число 1.
Затем результат работы функции заносится в переменную result:
result = doIt(test), которая далее выводится на экран.Мы видим, что в результате своей работы функция выдает число 2, что является лишь изменением переданного ей значения переменной test, но не самой переменной.
-
Исходное значение переменной test осталось прежним, как мы можем убедиться далее при выводе ее на экран.
Таким образом, при передаче переменной в функцию, в нее копируется значение переменной, а но не сама переменная.