305 Shares 2752 views

JavaScript: function. linguagem de programação JS

Idéias de conteúdo dinâmico para formar web-RECURSOS tornaram-se a norma. páginas estáticas e design templates Web finalmente concluída a sua missão.

No entanto, moderno web-recurso não tem de ser representado por um conjunto de páginas geradas pelo servidor e atualizar o navegador (JS + AJAX).

repositório baseado na Web no momento da chegada do visitante pode ser um par de títulos para o registro, algum texto no «cabeça», algumas linhas de código no «corpo» e tudo. O resto de "conceber" no processo de visitante – é um local ideal, ou à aspiração ser um.

Coloque a descrição e natureza das funções

опыт, наработаный многими десятилетиями. JavaScript – É uma experiência narabotany décadas. Ele tem uma história significativa de desenvolvimento, modernos equipe qualificada criadores desenvolvedores. bem a língua pensado, confiável, bonita e dá uma oportunidade real para os desenvolvedores a escrever código para um decente e auto-aperfeiçoamento.

O conceito de um algoritmo é uma função aqui não existe, em princípio. Claro, o desenvolvedor pode qualquer lugar da página para inserir código de script para colocar nele e ele será executado. страницы? Mas o que é o ponto no código, que é executada apenas uma vez: ao carregar (recarga) da página? É possível definir os valores iniciais do que algumas variáveis insignificantes.

Script – este lugar é a descrição direito de variáveis e funções, ao invés de um bom pedaço de código escrito para seu próprio bem. É um conjunto de funções é essencial e importante, talvez – sua conexão direta mútua, mas mais frequentemente é diferente. descrição do local da função eo lugar de sua aplicação não é a mesma coisa.

Não é necessário que a função irá chamar outra função diretamente, mas isso pode ser feito indiretamente através da formação de código dinâmico. Um visitante toma uma decisão dentro deste código e funciona muito diferentes funções do sistema.

dinâmica funcional

dinâmica funcional – é não só e não tanto manipuladores atribuídos a elementos da página são funções que formam os elementos da página, e dos manipuladores imediatos, também, pode mudar.

A acção tem lugar na página, dependendo dos elementos e comportamento do visitante sobre ele. Movimento do mouse, teclado, teclas, cliques, eventos, artigos e outras circunstâncias conduzir ao lançamento das funções necessárias.

Originalmente não há coerência e não há nenhum paralelo. Há uma resposta adequada aos eventos web em recursos. Quão rápido JavaScript cumpre uma função específica que depende de muitos técnicos (computador, linhas de comunicação) e semântica (algoritmo de lógica, área temática, ou seja, o problema) fatores.

Na verdade, pode-se argumentar que algo tem trabalhado em paralelo, mas algo vai virar depois de alguma coisa, mas o significado deste especial não é. É importante que a função JavaScript – é uma oportunidade de criar uma resposta adequada às ações do visitante.

Esta nova forma de pensar no projeto: processamento distribuído nas profundezas de um único navegador!

A sintaxe para variáveis e funções

JavaScript-variáveis são colocados na tag «roteiro», e no corpo da função. Funções são definidas da mesma maneira. significado especial para escrever dentro da função há outra função, mas pode ser necessário por várias razões, e é bastante razoável.

Descrição da função geralmente começa com a «função» de palavras-chave, seguido pelo seu nome, a lista de argumentos entre parênteses, separados por vírgulas, eo corpo função no aparelho.

Neste exemplo, duas funções são descritos que fornecem AJAX-troca entre a página eo servidor. Parcialmente scXHR descrito acima, porque disponível em ambos InitXML, e dentro WaitReplySC.

"Função" do nome da função e parâmetro

Não foi apresentada a versão assíncrona quando a função-função JavaScript é chamada após a resposta do servidor. Assim, recebendo uma resposta do servidor, WaitReplySC acessa a tag da página, preenche as informações recebidas e faz com que outras funções, que pode muito bem iniciar a próxima solicitação para o servidor.

Aqui também é importante notar que WaitReplySC – uma função. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Mas em linha scXHR.onreadystatechange = WaitReplySC ele é passado como um parâmetro. Esta função de transferência regra geral a outras funções como parâmetros. suportes pontiagudos e deu-lhes seu parâmetro (s) – a função será executada imediatamente. Narrado por nome somente, bem assim que. função de chamada fará com que a pessoa que tem o nome dela.

A funcionalidade implementada via AJAX, permite-lhe chamar uma função JavaScript através dos dados recebidos a partir do servidor. Na verdade, o envio de uma solicitação para o servidor, um ou outro recurso não pode, a todo o "saber" que funcionam ela se vira, e com que informações.

função para fora e seu resultado

O corpo da função, você pode escrever quaisquer operadores de linguagem, que, de fato, para ele se destina. características no interior são variáveis declaradas dentro e fora, mas não aqueles que são descritos em outras funções.

Se você quiser que a função para retornar um resultado, você pode usar a instrução de retorno JavaScript: retorno. O corpo da função pode ser um número suficiente de instruções de retorno. Não é necessário que todos eles vão devolver o resultado do mesmo tipo.

Normalmente, os desenvolvedores são reverenciados esta oportunidade e, dependendo da situação, decidir retirar a função mais rapidamente possível.

Não é necessário para executar através de todo o algoritmo de funções, quando você pode sair mais cedo.

argumentos da função

Argumentos são passados para a lista de funções, separados por vírgulas, estão entre parênteses, e são apenas após o seu nome. Os argumentos utilizados nomes de variáveis, mas você pode passar valores diretamente. Para passar uma função JavaScript em uma função, você só precisa especificar o seu nome sem colchetes.

Dentro da função é variável argumentos disponíveis, que tem uma propriedade de comprimento. Você pode se referir a qualquer função argumento através de argumentos [0], os argumentos [1], … para os últimos argumentos [arguments.length-1].

Alterando a função do argumento é realmente dentro da função, mas não fora dela. A fim de mudar alguma coisa fora da função, o operador deve usar retorno JavaScript, por onde passam o valor necessário para o exterior.

Depois a função termina, tudo o que foi associado com a sua implementação, serão destruídas. Durante a execução da função pode alterar as variáveis externas, excepto aqueles que são descritos em outras funções, incluindo aqueles no interior.

Temos argumentos de propriedade callee, que se destina a chamar uma função que é executada em um determinado momento. Se a própria causa, a versão JavaScript da função na função irá implementar recursão.

usando funções

A principal preocupação das funções – para servir o navegador evento. Para fazer isso quase todos os tag tem a capacidade de especificar um nome do evento e função de sua fabricação. Você pode especificar vários eventos, mas cada evento é indicado apenas uma função.

Uma função pode lidar com vários elementos da página e alguns eventos. Através «este» opção, você pode transferir a função de informações onde foi chamado.

O uso clássico da JS-funções – os manipuladores de eventos sobre os elementos. Neste exemplo scfWecomeGo () função ou scfWelcomeCancel () é chamado sob a forma do visitante de entrada / saída, e ao seleccionar o modo de funcionamento scfMenuItemClick (este).

Neste último caso, o parâmetro passado para «esta», que permite que você aprenda milagrosamente do que é diva foi chamado. Na verdade, JavaScript é tão qualitativamente implantado no DOM, e é tão convenientemente permite que você navegue seus elementos, para recolher as informações necessárias que a dinâmica páginas pode simplesmente ser imprevisível.

A função não tem que retornar uma string, número ou outra função. Ele pode retornar um HTML-elemento integral, e que é o número necessário de elementos, com seus manipuladores, seus eventos.

Ao colocar um elemento na página, o desenvolvedor cria uma nova funcionalidade que é bom em termos de resolver o problema e atender aos interesses dos visitantes, mas bastante difícil em termos de implementação.

Desde o desenvolvimento de tal um completamente funcional, fácil de se perder em código nativo, em chamadas de função, em momentos quando formados ou que o conteúdo de um ou outro da página. Antes de tomar essa direção do desenvolvimento, e não impedir um poço pesar tudo.

Sobre a distribuição de pensar

O desenvolvedor tem que pensar no nível de todos os elementos da página, em todos os eventos, e tem uma apresentação clara de como tudo realmente acontece. É difícil, mas o trabalho vale a pena.

Em JavaScript, a função pode ser adiada até que algum evento, e tais características podem ser muitos, e os eventos têm uma tendência a se espalhar e entrar na "esfera de visibilidade" dos vários processadores.

Neste exemplo, em algum lugar antes que a função foi chamado, que iniciou um menu de navegação de arquivos item. Supõe-paginação, que é na janela apenas sete arquivos, que podem ser removidos e processados. Pode ser movido como um arquivo, clicando na linha, e as teclas de seta e blocos de sete linhas.

Em cada caso tem sua própria função. Em outras palavras, neste exemplo simples, você precisa escrever um par de dezenas de recursos que vai reagir a vários eventos, e algumas dessas funções irá lidar com uma variedade de opções e situações que os eventos não pertenciam.

Por exemplo, ao remover a linha de fundo tem de ser deslocado para cima. Isso vai exigir quer fazer uma nova seleção que comum e claramente um recurso, ou para contar linhas, use uma função javascript na matriz e para atingir a meta elegante.

Os argumentos e resultados de funções

JavaScript permite que você trazer código para o status de "full-featured". Normalmente, quando o argumento da função é a função. opção permitida, a função retorna uma função. JavaScript leva-lo com toda a calma.

Este é um bom mecanismo, mas bastante complicada em relação à implementação. Tecnicamente admissível semanticamente fornecer transmissão lógica "funcional" apenas por um desenvolvedor qualificado.

Quando uma função JavaScript em uma função – tudo bem, mas quando a função gera uma função, e que outro, a lógica é bastante difícil de seguir. Na verdade, a questão não é saber se a aplicar as habilidades, a questão é a obtenção de resultado seguro e correto.

cuidados desenvolvedor é clara e simples. Há um problema, você precisa de uma solução, não um bug como «erro de JavaScript a operação é inseguro» , uma tela em branco, ou parar todos os motores browser.

Se o argumento for uma função, então o desenvolvedor para passar uma variável com propriedades especiais, que não é um número, não uma string, não um objeto. Mas o uso de tal argumento pode levar ao fato de que alterar as variáveis externas e é o resultado da execução da função. Dependendo das alterações que serão adequados transferido.

Execução de código gerado

Implementar o código de execução gerado no curso do trabalho outro código, é possível por meio de «eval». Não é considerado como uma excelente solução, mas muitas vezes não podem complicar o código com funções desnecessárias, e para limitar a formação de linha trivial de código JavaScript e simplesmente executá-lo.

Neste exemplo, o inserto é formado de pontos em div operável algumas informações. conteúdo de informação para um número diferente de posições diferentes diva e, porque tal decisão nesta situação não fornece uma situação garantida «javascript erro da operação é inseguro» , mas com firmeza dar o efeito desejado.

Nuance JavaScript paradigma shift "função na função"

Se você pode fazer sem frescura, é melhor usá-lo. Todas estas opções são boas. É claro que, em muitos casos, é a única solução.

Um exemplo clássico de recursividade: o factorial. É difícil o suficiente para escrever um algoritmo que fará um loop, mas é muito simples, você pode empurrar os valores do envelope. Fatorial está crescendo muito rápido.

No entanto, recursão, e função chama outra função, que pode fazer callback informado – coisas normais.

Por exemplo, uma tabela regular. A outra mesa pode ser uma mesa. Nidificação não pode ser restrito. Escrever para cada tabela seu próprio conjunto de recursos – muito luxo.

Tais exemplos são numerosos, e tudo isso será um problema real e urgente, não por causa de programação. É por isso que o problema reside no fato de que sem frescuras não configurar um sistema de funções, mais precisamente, a sua depuração e posterior operação confiável torna-se cuidado JavaScript, e Developer.