Como criar funções personalizadas com argumentos opcionais e obrigatórios em javascript
Todos os argumentos para uma função javascript são opcionais. Na verdade, o chamador pode enviar tantos argumentos como desejado para programar com HTML. Claro, se você está esperando apenas um argumento, então você vai processar apenas um argumento na maioria dos casos. Infelizmente, você pode estar esperando pelo menos um argumento e não podem receber nenhum.
Em suma, você precisa de algum método de lidar com argumentos em javascript que ajuda a explicar o que o chamador pode ou não enviar. O exemplo a seguir demonstra algumas técnicas para trabalhar com argumentos opcionais:
OptionalArgument função (param) {// determinar se houve algum params passed.if (typeof (param) == "undefined") param = "Olá lá!" - // Determinar se há params.if extra (typeof (argumentos ! [1]) = "undefined") // Se assim for, a saída do param e opcional // argumento onscreen.document.getElementById ( "resultado") innerHTML = "o parâmetro é:". + param + "e o argumento opcional é: "+ argumentos [1] -else // saída do onscreen.document.getElementById param (" resultado ") innerHTML =". o parâmetro é: "+ tro}
Esta função requer um argumento como entrada. Naturalmente, o chamador pode não fornecer um valor para param, o que significa que param é indefinido. Você pode verificar essa questão, usando o typeof operador. Observe que quando param é indefinido, o código atribui um valor padrão. Esta é a maneira correta de lidar com opcionais argumentos nomeados.
javascript também fornece um especial argumentos variável. É uma matriz que contém um elemento para cada argumento passado para a função. Quando alguém passa mais argumentos do que você esperava ou a sua função pode aceitar um número variável de argumentos, você pode usar o argumentos variável para trabalhar com eles.
Neste caso, quando o chamador passa um argumento adicional - não explicados por param - o aplicativo ainda pode mostrar o seu valor na tela usando uma mensagem diferente da mensagem que exibe quando um chamador passa zero ou uma argumentos. Normalmente você usar loops para processar um número variável de argumentos.
Às vezes você realmente quer um e apenas um parâmetro. É um desperdício de tempo a queixar-se muitos argumentos na maioria dos casos, mas você pode definitivamente fazer algo sobre não conseguir o que você precisa. Os testes a seguir exemplo de um tipo específico de entrada para garantir que ele tem o que precisa:
função RequiredArgument (param) {// Determinar se houve algum params passed.if (typeof (param) = "string"!) // Se não, voltar ao chamador sem fazer // anything.return - // Se assim for, em seguida, exibir o onscreen.elsedocument.getElementById valor ( "resultado") innerHTML = "o parâmetro é:". + tro}
Neste caso, o código verifica a existência de uma corda. Quando o chamador passa algo diferente de uma string, o código simplesmente retorna sem fazer nada. Claro, você poderia passar de volta um valor que indica um erro ou até mesmo exibir uma alerta() na tela.
Como você reage ao erro é com você, mas você precisa para manter a natureza única tarefa de funções em mente ao decidir sobre uma reação. Neste caso, não fazer nada é a melhor escolha. Quando o chamador faz passar uma string, a função exibe-lo na tela.