Как мне вызвать эту функцию, чтобы она использовала значение параметра по умолчанию?

slice () метод
Функция AS3 slice (startIndex: Number = 0, endIndex: Number = 0x7fffffff): String

String: slice () doc

В документации указано, что значение startIndex по умолчанию равно 0. Как мне вызвать эту функцию так что он использует значение по умолчанию startIndex?

1
задан Vishal 27 August 2010 в 23:32
поделиться

3 ответа

В AS3, если функции требуются параметры и некоторые из параметров имеют значения по умолчанию, отсутствие передачи каких-либо параметров логически приведет к значениям параметров по умолчанию по умолчанию, как в примере Хуана Пабло Калифано.

Если требуется более одного параметра, и вы хотите сохранить значение по умолчанию для первого параметра, вам придется фактически указать его, чтобы установить другие параметры.

var str:String;
str.slice( 0 , 5 );
str.slice( 0 , 2 );

Возьмем, к примеру, класс Matrix:

Matrix(a:Number = 1, b:Number = 0, c:Number = 0, 
              d:Number = 1, tx:Number = 0, ty:Number = 0)

Если вам нужно установить параметр ty, передав его в качестве аргумента, вам нужно будет установить каждый параметр перед ним,

var matrix:Matrix = new Matrix(a:Number = 1, b:Number = 0, c:Number = 0, 
              d:Number = 1, tx:Number = 0, ty:Number = 50)

с другой стороны, вы можете установите a и b и оставьте значения по умолчанию для остальных параметров.

var matrix:Matrix = new Matrix(a:Number = 100, b:Number = 20)
1
ответ дан 2 September 2019 в 21:45
поделиться

Просто не передавайте аргумент, и он будет использовать аргумент по умолчанию:

startIndex();
0
ответ дан 2 September 2019 в 21:45
поделиться

После того как вы укажете значения параметра, вам нужно будет указать каждый параметр слева от него. Поэтому, если вы хотите пропустить startIndex, вам придется пропустить endIndex.

В некоторых языках вы могли сказать str.slice(, 5), но не в AS3. Чтобы использовать значение по умолчанию для startIndex, вам нужно сказать str.slice(), что создает полную копию строки.

Кажется, нет особого смысла делать это для String, поскольку она неизменяема. Вы чаще видите slice() в Array, где это простой способ получить копию.

1
ответ дан 2 September 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: