logo
Vvedenie_v_Veb_programmirovanien_2 / Vvedenie_v_Veb_programmirovanien_2

Передача параметров по значению и по ссылке

Базовые типы данных (числа, строки, булевы переменные) передаются в функцию в качестве параметров по значению. При этом значение переменной переданной как параметр в функцию не изменится во время выполнения функции. Данные объектных типов, например массивы, передаются по ссылке(адресу) и могут изменяться во время выполнения функции. Пример, иллюстрирующий данное поведение, приведен ниже:

<!-- пример pr13 -->

<html>

<body>

<script type="text/javascript">

function passval(arg1) {

var arg=5; arg1=arg++;

return arg1;

}

var x = 1; var y = 2;

alert(passval(x)); //выведет в окно 5

alert(x); //выведет 1, значение x не изменится

function passRef(arr1) {

arr1[0] = "NEWfirst";

}

var y = ["first", "second"];//массив

passRef(y);

alert(y);//выведет в окно NEWfirst", second

</script>

</body>

</html>