JavaScript é uma linguagem de script para a Web usado para realizar cálculos ou controlar o layout das páginas da Web , enquanto incorporado no script HTML . Poder e flexibilidade do JavaScript vem do fato de que o JavaScript é uma linguagem orientada a objetos, o que significa que ele contém algumas funcionalidades de outras línguas. Devido a isso , muitos tipos de dados em JavaScript são objectos , incluindo funções . Funções comportando como objetos permite que os programadores a fazer coisas interessantes com eles, como inserí-las em outras funções. Funções e valores de retorno
funções normalmente levam uma lista de argumentos , executar algum código com base nesses argumentos , e quer executar uma operação ou retornar um valor. Quando uma função retorna um valor , isso significa que a função de um sentido faz sair um valor , que um programador pode atribuir a uma variável ou utilizar de outro cálculo . O valor de retorno pode ser um tipo escalar de dados (como um inteiro) , ou um objeto. Por exemplo , a seguinte função recebe um número e retorna o número multiplicado por três :
tripla função (x)
{
retornar x * 3;
}
funções aninhadas
Dentro de uma função , o programador pode definir ainda uma outra função para executar alguma tarefa . O processo de definição é exatamente o mesmo , mas o uso da função é diferente. Quando um programador declara uma função de alcance global, ela pode usar essa função durante todo o programa . Quando um programador declara uma função dentro de outra função , no entanto, o único lugar que ela pode usar essa função é dentro da função , ela declarou -lo dentro O exemplo a seguir ilustra esse ponto :
tripla função (x)
{
função addThree (y) {
retorno y + y + y;
}
retornar addThree (x ) //retorna o resultado de retorno de " addThree "
}
dupla função (x)
{
addThree (x ) //ilegal, pode addThree apenas ser chamado de dentro da função "triplo"
variáveis e funções aninhadas
a razão funções não podem chamar as funções declaradas dentro de outras funções é porque o interno função não está nas funções fora "escopo ". A função de " addThree " existente no âmbito da função de " tripla " . a função de "double" é fora do escopo do triplo, e não pode acessar suas partes internas . No entanto, " addThree " está dentro de escopo " do triplo" , e, portanto, pode acessar as partes internas do " triplo ". Isto significa que as variáveis declaradas em "triplo" são justas para usar para " addThree ", ea função poderia ficar assim:
tripla função (x)
{
addThree função () {
retornar x + x + x ;
}
retornar addThree
Retornando Outras funções
vez que as funções são objetos, uma função pode retornar uma função ao invés de dados. Isto significa que algumas funções podem levar os dados para dar a outros , funções aninhadas, e retornar essas funções. Em seguida , o programador pode chamar a função interna de fora do escopo funções externas . O exemplo a seguir detalha como isso funciona:
função fora (x) {
função add ( y)
retornar x + y;
}
voltar para dentro;
}
x = a (3 ) //x agora detém o objeto de função "add (y) ", que tem um valor x de 3
y = x (2 ) //x = " adicionar (2) ", que é 3 + 2 , então y = 5