A cópia do código é a seguinte:
<! Doctype html>
<html>
<head>
<meta charset = "utf-8">
<title> Insira o título aqui </ititure>
<script type = "text/javascript">
/*
* 1. Todas as variáveis em JS são comuns.
2.js não possui variáveis estáticas
3. Fechamento: as variáveis fora da função podem ser chamadas dentro da função; Caso contrário, não pode
*/
var r = 10;
função test1 () {
var r2 = "abc";
// alerta (r)
}
// alerta (r2); // r2 dentro da função que não pode ser acessada
test1 ();
// funções aninhadas estão ok
função test2 (num1) {
função test3 (num2, num3) {
retornar num2+num3+num1;
}
Retornar Test3 (10,20)
}
// alerta (test2 (30));
// -----------------------------------------------------------------------------------------------------------------------------------
função testfun () {
var r = 1;
var arr = [];
for (var x = 0; x <3; x ++) {
r ++;
arr [x] = function () {
retornar r;
}
}
retornar arr;
}
alert ("testfun:"+testfun ());
var Arr2 = testFun ();
alerta ("arr:"+arr2 [0]);
alerta ("arr:"+arr2 [1] ());
alerta ("arr:"+ar2 [2] ());
// =========== As três caixas pop-up acima são todas 4 =================================
/*Analise os motivos:
Entender quais funções estão em JavaScript?
Uma função é um bloco executável de código e uma função também pode ser representada por uma variável, como a segunda maneira de definir uma função.
var add = new function ("a", "retorna a+10"); A essência subjacente é o ponteiro do nome da função
Este código executável criado para variáveis.
* Primeiro, após a execução da função Testfun, o mesmo é armazenado em arr [0], arr [1] e arr []
Função de bloco de código executável () {
Retornar r
} Em outras palavras, os três acima são apenas variáveis de função. Para executá -los, você só precisa adicionar () após o nome da variável e tudo bem.
E neste momento o valor de r é 4
Ao executar o ARR [0] () é equivalente a executar o código neste bloco de código.
Portanto, o resultado final retorna R, é claro, retorna 4.
*/
</script>
</head>
<Body>
</body>
</html>