Uma função é um bloco de código reutilizável que é conduzido por um evento ou executado quando é chamado.
O JScript suporta duas funções: uma é uma função dentro do idioma (como avaliar ()), e a outra é criada por si mesma.
Uma variável declarada dentro de uma função JavaScript (usando VAR) é uma variável local, portanto, só pode ser acessada dentro da função. (O escopo dessa variável é local).
Você pode usar variáveis locais com o mesmo nome em funções diferentes, porque apenas funções que declararam a variável podem ser reconhecidas.
Como chamar uma função
1. Chamada normal: FunctionName (parâmetro real ...)
2. Chamada através de variáveis apontando para a função:
var myvar = nome da função;
myvar (parâmetros reais ...);
Retorna a função
1. Quando a função não tem um valor de retorno explícito, o valor retornado é "indefinido".
2. Quando a função tem um valor de retorno, ele retorna qualquer que seja o valor de retorno.
Podemos devolver a função ao local onde é chamado usando a instrução Return.
Ao usar a instrução Return, a função interrompe a execução e retorna o valor especificado.
Uma função geralmente retorna um valor exclusivo; portanto, esse valor também pode ser outra função:
A cópia do código é a seguinte:
<script type = "text/javascript">
var box = function () {
var a = 1;
Return function () {
Alerta (a ++)
}
}
alert (caixa ()); // "function () {alert (a ++)}" aparece
</script>
Aqui, apenas atribuímos o valor de retorno a uma variável e, em seguida, podemos chamá -lo de usar uma função normal:
A cópia do código é a seguinte:
<script type = "text/javascript">
var box = function () {
var a = 1;
Return function () {
Alerta (++ A)
}
}
var newfunc = box ();
newfunc (); // 2
</script>
Se você deseja que a função retornada seja executada imediatamente, também pode usar o Box () () () para executar este código.
Todas as funções do ECMAScript são passadas por valores, o que significa que os parâmetros não serão passados por referência.
PS: Se houver uma referência passada, a variável na função será uma variável global e também poderá ser acessada externamente.
(1) Tipos de valor: numérico, booleano, nulo, indefinido.
(2) Tipo de referência: objeto, matriz, função.
Valor do tipo de referência: refere -se aos objetos armazenados na memória da heap, o que significa que a variável é na verdade apenas um ponteiro, que executa outro local na memória, e o objeto é salvo por esse local;
Crie funções anônimas
A cópia do código é a seguinte:
função(){
retornar 'Lee'; // funções anônimas únicas não podem ser executadas e, mesmo que possam ser executadas, elas não podem ser chamadas porque não há nome
}
Existem muitos usos dessa função anônima no jQuery. Declare uma função anônima diretamente e use -a imediatamente. A vantagem de usar funções anônimas é que elas podem evitar definir uma função que não é usada uma vez e está livre do problema de nomear conflitos. Não existe um conceito de espaço para nome no JS, por isso é fácil ter conflitos de nomes de funções. Uma vez que o conflito de nomenclos é feito, o último declarado prevalecerá.
Executar funções anônimas por autoexecução:
A cópia do código é a seguinte:
// Executa funções anônimas através da autoexecução
<script type = "text/javascript">
(function () {// (função anônima) (); coloque a função anônima nos primeiros parênteses e execute nos segundos parênteses.
alerta ('lee');
}) ();
</script>
Atribua o valor de retorno da função anônima à variável:
A cópia do código é a seguinte:
// atribui o valor de retorno da função anônima auto-executada à variável
<script type = "text/javascript">
var box = (function () {
alerta ('lee');
}) (); // POPT "LEE";
alerta (caixa); // aparece indefinido. Se Alert (Box ()) estiver escrito, então apenas um "lee" aparece
</script>
Passando parâmetros para funções anônimas de auto-execução:
A cópia do código é a seguinte:
// Executar a transferência de parâmetros de funções anônimas
<script type = "text/javascript">
(função (idade) {
alerta (idade);
}) (100); // POPT 100
</script>
JavaScript cria funções dinâmicas:
O JavaScript suporta a criação de funções dinâmicas. Dynamic functions must be defined by Function objects (Function is an object in javascript, which is fixed and unchanged. It stipulates that the "F" of the Function object must be capitalized. When it is a function, we know that it is a keyword used when defining the function: function funName(x, y), when it is Function (when F is capitalized), we know that it is an object in javascript)
O formato básico para criar funções dinâmicas: variável variável = new function ("parâmetro 1", "parâmetro 2", "parâmetro n", "instrução de execução");
Veja o seguinte código:
A cópia do código é a seguinte:
<script type = "text/javascript">
var square = nova função ("x", "y", "var sum; sum = x+y; retorno soma;");
O resultado de alerta ("quadrado (2,3) é:"+quadrado (2,3)); // O resultado do quadrado (2,3) é: 5
</script>
Square é uma função criada dinamicamente. Cada parte do conteúdo entre colchetes depois que o objeto de função deve estar na forma de uma string, ou seja, deve ser fechada em citações ("" ou '')
Este código:
var square = nova função ("x", "y", "var sum; sum = x+y; retorno soma;");
E o seguinte código:
A cópia do código é a seguinte:
Função quadrada (x, y) {
var sum;
soma = x+y;
soma de retorno;
}
É exatamente o mesmo, exceto que um é uma função dinâmica e o outro é uma função estática.
Por que dividimos o código em pequenos pedaços de código? , a vantagem de dividir uma string em várias seqüências independentes é que podemos alterar a função da função a qualquer momento modificando algumas das strings.
Função de retorno de chamada
Um retorno de chamada é o processo de chamada de uma função. Em seguida, comece entendendo esse processo de chamada. A função A possui um parâmetro, que é uma função b. Quando a função A é executada, a função B é executada. Então esse processo é chamado de retorno de chamada.
De fato, o chinês também é fácil de entender: retornos de chamada, retornos de chamada, significado de volta. Depois de terminar a função A, ligue para a função b posteriormente.
Deve ficar claro aqui: a função B é passada para funcionar A na forma de um parâmetro, portanto, a função B é chamada de função de retorno de chamada.
A maioria das funções de efeito no jQuery envolve funções de retorno de chamada. Função do efeito jQuery
Por exemplo:
A cópia do código é a seguinte:
<script type = "text/javascript">
$ ("div"). Mostrar (1000, function () {
// Função de retorno de chamada
});
</script>
Aqui, a função de retorno de chamada pode ser substituída por uma instância:
A cópia do código é a seguinte:
<script type = "text/javascript">
$ ("div"). Mostrar (1000, function () {
console.log ("Hello World")
});
</script>
O retorno de chamada é, na verdade, quando uma função é executada, a função que agora é executada é a chamada função de retorno de chamada. Que tal? É fácil de entender ...
A diferença entre métodos e funções
A cópia do código é a seguinte:
var arr = [1,2,3,4,5]
var a = 12; // variável: grátis
Arr.a = 5; // atributo: pertence a um objeto
função show () // função: grátis
{
alerta ('a');
}
Arr.fn = function () // Método: pertence a um objeto
{
alerta ('b');
}
De fato, um método é uma função, mas um método tem um objeto ao qual pertence.
Como sabemos, funções de ligação para clicar em eventos
gramática:
$ (seletor) .Click (função)
Descrição do parâmetro
A função é opcional. Especifica a função que é executada quando o evento de clique ocorre.
Este formulário é frequentemente visto em jQuery. Ele usa a função como um parâmetro para adicionar um manipulador de eventos ao método.
JS Função Global
As funções globais não são um conceito com propriedades ou métodos de objetos internos. A função global não pertence a nenhum objeto interno.
O JavaScript contém as 7 funções globais a seguir para completar algumas funções comumente usadas:
Escape (), avaliar (), isfinite (), isnan (), parsefloat (),
parseint (), unescape ().
Várias funções de funções
Use como construtor de classe
A cópia do código é a seguinte:
classe de função () {}
class.prototype = {};
var item = nova classe ();
Usado como um fechamento
A cópia do código é a seguinte:
(função(){
// Escopo independente
}) ();
Chamado como construtor
O chamado construtor é gerar um novo objeto através dessa função.
A cópia do código é a seguinte:
<script type = "text/javascript">
function test () {
this.x = 10;
}
var obj = new test ();
alerta (obj.x); // pop 10;
</script>
O novo operador pode ser usado para combinar construtores predefinidos, como Object (), Date () e Function () para criar e inicializar objetos. A programação orientada a objetos é um recurso poderoso de sua capacidade de definir construtores personalizados para criar objetos personalizados usados nos scripts. Um construtor personalizado é criado para que objetos com propriedades definidas possam ser criadas. Abaixo está um exemplo de uma função personalizada (observe o uso dessa palavra -chave).
A cópia do código é a seguinte:
Círculo de funções (xpoint, ypoint, raio) {
this.x = xpoint; // x coordenada do centro do círculo.
this.y = ypoint; // A coordenada y do centro do círculo.
this.r = raio; // O raio do círculo.
}
Ao chamar o construtor do círculo, o valor do ponto central e o raio do círculo são dados (todos esses elementos são necessários para definir completamente um objeto circular exclusivo). No final, o objeto Circle contém três propriedades. Aqui está como ilustrar um objeto de círculo.
var acircle = novo círculo (5, 11, 99);
A vantagem de usar uma função construtora é que ela pode receber alguns parâmetros ao criar um objeto.
A cópia do código é a seguinte:
<script type = "text/javascript">
teste de função (nome) {
this.occupation = "coder";
this.name = nome;
this.whoareyou = function () {
retornar "eu sou" + this.name + "e eu sou um" + this.cocupation;
}
}
var obj = novo teste ('trigkit4'); // cria objetos diferentes usando o mesmo construtor
var obj2 = novo teste ('aluno');
obj.whoareyou (); // "eu sou trigger4 e sou um canto"
obj2.Whoareyou (); // "Sou estudante e sou um canto"
</script>
Por convenção, devemos capitalizar a primeira letra da função do construtor para distingui -la significativamente da função geral.
As duas formas a seguir de funções definidoras são equivalentes.
A cópia do código é a seguinte:
<script type = "text/javascript">
var test = function () {
Alerta ("Hello World");
}
alerta (typeof (teste)); // função de saída
</script>
Aqui está um teste variável, cujo valor inicial é atribuído a uma entidade de função
A cópia do código é a seguinte:
<script type = "text/javascript">
function test () {
Alerta ("Hello World");
}
alerta (typeof (teste)); // função de saída
</script>
Dê uma olhada no seguinte formulário de função definidora:
A cópia do código é a seguinte:
<script type = "text/javascript">
function test () {
Alerta ("Hello World");
};
test (); // na verdade, ele é produz olá, não é?
function test () {
alerta ("olá");
};
teste (); // somente, olá é saída
</script>
Obviamente, a primeira função não funcionou, não é? Sabemos que o mecanismo de análise JavaScript não executa o código linha por linha, mas executa o código peça por peça. Na análise e execução do mesmo programa, as instruções de função da fórmula de definição serão executadas primeiro, portanto a primeira lógica de código definida foi substituída pelo segundo, para que a mesma função seja executada apenas duas vezes.
Função como valor
As funções não são apenas uma sintaxe, mas também um valor no JS. Ou seja, a função pode ser atribuída a uma variável, armazenada no atributo de um objeto ou em um elemento de uma matriz e passada para outra função como um parâmetro.
O nome de uma função é realmente invisível, é apenas o nome de uma variável, que se refere ao objeto de função
A cópia do código é a seguinte:
<script type = "text/javascript">
Função quadrada (x, y) {
retornar x*y;
}
var s = quadrado; // s e quadrado se referem à mesma função
quadrado (2,3); // 6
s (2,4); // 8
</script>
Além de atribuir funções a variáveis, as funções também podem ser atribuídas aos atributos dos objetos. Quando uma função é chamada de atributo de um objeto, a função é chamada de método.
A cópia do código é a seguinte:
<script type = "text/javascript">
var obj = {square: function (x, y) {// o objeto é medido diretamente
retornar x*y;
}};
var etc = obj.square (2,3);
</script>
atributo de protótipo
Cada função contém um atributo de protótipo, que aponta para uma referência a um objeto, que é chamado de objeto de protótipo.
Veja: Javascript Learning Notes (v) Protótipo e cadeia de protótipo
Funções avançadas
A função de ordem superior aqui não é a função de ordem superior no número alto. A chamada função de ordem superior é uma função que opera a função. Ele recebe uma ou mais funções como parâmetros e retorna uma nova função.