Partilhar via


demonstrativo de função

Declara uma nova função.Isso pode ser usado em vários contextos:

// in the global scope
function functionname([parmlist]) [: type] {
   [body]
}

// declares a method in a class
[attributes] [modifiers] function functionname([parmlist]) [: type] {
   [body]
}

// declares a method in an interface
[attributes] [modifiers] function functionname([parmlist]) [: type]

Argumentos

  • attributes
    Opcional.Atributos que controle a visibilidade e o comportamento do método.

  • modifiers
    Opcional.Modificador controlar a visibilidade e o comportamento do método.

  • nomedafunção
    Obrigatório.O nome da função ou método.

  • paramlist
    Opcional.Uma lista delimitada por vírgulas parâmetro para a função ou método.Cada parâmetro pode incluir uma especificação de tipo.O último parâmetro pode ser um parameterarray, que é indicado por três períodos ()... ) seguido por um nome de matriz de parâmetro seguido de uma anotação de tipo de uma matriz de tipos.

  • type
    Opcional.Tipo do método de retorno.

  • body
    Opcional.Uma ou mais declarações que definem como o método ou função opera.

Comentários

Use o função demonstrativo para declarar uma função para uso posterior.O código contido no body não é executado até que a função é chamada de outro local no script. The return demonstrativo é usada para retornar um valor da função. Não é necessário usar um return demonstrativo, o programa irá retornar quando chegar ao participante da função.

Métodos são semelhantes aos funções global, exceto pelo fato de que eles são o escopo a classe or interface onde eles são definidos e podem ter vários modificadores que controlam sua visibilidade e o comportamento. Um método em um interface não pode ter um corpo, enquanto um método em um classe deve ter um corpo.Há uma exceção a essa regra; se um método em um classe is Resumo or the classe is Resumo, o método não pode ter um corpo.

Você pode usar a anotação de tipo para declarar o tipo de dados de que a função ou método para retornar.If void é especificado sistema autônomo o tipo de retorno, nenhum valor pode ser retornado por qualquer o return instruções dentro da função. Se qualquer retornar tipo diferente de void for especificado, todas as return instruções na função devem retornar um valor que seja coercible para o tipo de retorno especificado. O valor não definido é retornado se um tipo de retorno for especificado, mas uma retornar demonstrativo aparece com nenhum valor ou se o participante da função for alcançado sem que um return demonstrativo. Funções de construtor não podem especificar um tipo de retorno, desde o novo operador automaticamente retorna o objeto que está sendo criado.

Não se for especificado nenhum tipo de retorno explícito para a função, o tipo de retorno será definido como qualquer um dos Object ou void. The void retornar tipo é selecionado somente quando houver nenhum return instruções ou a return instruções aparecem sem valor no corpo da função.

Uma matriz de parâmetro pode ser usado sistema autônomo o último parâmetro de uma função.Quaisquer argumentos adicionais passados para a função (se houver alguma) após os parâmetros necessários serão inseridos para a matriz de parâmetro.A anotação de tipo do parâmetro não é opcional; ele deve uma matriz tipificada.Para aceitar parâmetros de tipos arbitrários, use [Objeto] sistema autônomo matriz tipificada.Quando chamar uma função que pode aceitar um número variável de argumentos, uma matriz explícita do tipo esperado pode ser usada em vez de fornecer uma lista de parâmetros.

Ao chamar uma função, certifique-se de que sempre incluir os parênteses e os argumentos necessários.Chamando uma função sem parênteses faz com que o texto da função a ser retornado em vez dos resultados da função.

Exemplo 1

O exemplo a seguir ilustra o uso do função demonstrativo na primeira sintaxe:

interface IForm {
   // This is using function in Syntax 3.
   function blank() : String;
}

class CForm implements IForm {
   // This is using function in Syntax 2.
   function blank() : String {
      return("This is blank.");
   }
}

// This is using function in Syntax 1.
function addSquares(x : double, y : double) : double {
   return(x*x + y*y);
}

// Now call the function.
var z : double = addSquares(3.,4.);
print(z);

// Call the method.
var derivedForm : CForm = new CForm;
print(derivedForm.blank());

// Call the inherited method.
var baseForm : IForm = derivedForm;
print(baseForm.blank());

A saída deste programa é:

25
This is blank.
This is blank.

Exemplo 2

Neste exemplo, uma função printFacts aceita sistema autônomo entrada um String e array de um parâmetro usada para aceitar um número variável de Objetos.

function printFacts(name : String, ... info : Object[]) {
   print("Name: " + name);
   print("Number of extra information: " + info.length);
   for (var factNum in info) {
      print(factNum + ": " + info[factNum]);
   }
}

// Pass several arguments to the function.
printFacts("HAL 9000", "Urbana, Illinois", new Date(1997,0,12));
// Here the array is intrepeted as containing arguments for the function.
printFacts("monolith", [1, 4, 9]);
// Here the array is just one of the arguments.
printFacts("monolith", [1, 4, 9], "dimensions");
printFacts("monolith", "dimensions are", [1, 4, 9]);

Este programa exibe a seguinte saída quando executado:

Name: HAL 9000
Number of extra information: 2
0: Urbana, Illinois
1: Sun Jan 12 00:00:00 PST 1997
Name: monolith
Number of extra information: 3
0: 1
1: 4
2: 9
Name: monolith
Number of extra information: 2
0: 1,4,9
1: dimensions
Name: monolith
Number of extra information: 2
0: dimensions are
1: 1,4,9

Requisitos

Versão 1 (para sintaxe 1)Versão .NET (para sintaxes 2 e 3)

Consulte também

Conceitos

Escopo de variáveis e constantes

Anotação de tipo

Matrizes de tipos

Referência

Operador novo

demonstrativo de classe

demonstrativo de interface

Retornar demonstrativo

Outros recursos

Modificadores