Книга: «1С:Предприятие.Элемент». Возможности встроенного языка
Назад: Значения по умолчанию
Дальше: Позиционные и именованные аргументы

Передача параметров по значению

В языке «1С:Предприятия» параметры можно было передавать в методы как по значению, так и по ссылке.

Если в описании процедуры или функции перед параметром стояло ключевое слово Знач, то параметр передавался по значению. При этом изменение значения формального параметра внутри процедуры или функции не приводило к изменению значения фактического параметра. Например:

Процедура МояПроцедура()

Переменная1 = 30;

Метод1(Переменная1);

// Переменная1 будет равна 30

КонецПроцедуры

 

Процедура Метод1(Знач Перем1)

Перем1 = 100;

КонецПроцедуры

Если ключевое слово Знач перед параметром не стояло, то параметр передавался по ссылке. При этом изменение значения формального параметра внутри процедуры или функции приводило к изменению значения фактического параметра. Например:

Процедура МояПроцедура()

Переменная1 = 30;

Метод1(Переменная1);

// Переменная1 будет равна 100

КонецПроцедуры

 

Процедура Метод1(Перем1)

Перем1 = 100;

КонецПроцедуры

Теперь в языке «Элемента» аргументы можно передавать в методы только по значению. Это значит, что изменение значения параметра при выполнении метода никак не повлияет на аргумент. Например:

метод МойМетод()

пер Переменная1 = 30

Метод1(Переменная1)

// Переменная1 будет равна 30

;

метод Метод1(Перем1: Число)

Перем1 = 100

;

В то же время, как и в языке «1С:Предприятия», можно изменять состояние экземпляров, переданных через параметры, с помощью методов этих экземпляров. Например:

метод МойМетод()

пер Массив1 = <Число>[1]

Метод3(Массив1)

// В переменной Массив1 будет содержаться два элемента.

;

метод Метод3(Парам: Массив<Число>)

Парам.Добавить(4)

;

Назад: Значения по умолчанию
Дальше: Позиционные и именованные аргументы