-
Notifications
You must be signed in to change notification settings - Fork 0
/
js10-funciones.html
83 lines (65 loc) · 1.74 KB
/
js10-funciones.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<html>
<head>
<title></title>
<script type="text/javascript">
//1-comprobar lo que ocurre al comentar o no comentar
//la llamada a la funcion ShowMessage()
function ShowMessage(){
alert("mensaje");
}
//Llamada
ShowMessage();
/* En el caso de comentar la llamada, no obtenemos ninguna salida. En caso contrario sí que
obtenemos el mensaje correspondiente.
*/
//2-Funciones que se llaman a si mismas
(function(){
alert("Mensaje funcion que se llama a si misma")
})();
//Lo que ocurre es que hemos definido una funcion anonima que
//se llama a si misma
//3-Otro ejemplo de funcion que se llama a si misma
//self-invoking function
//Partimos de una funcion normal
function MostrarSuma(a,b){
alert("Suma="+(a+b).toString());
}
//y su llamada
MostrarSuma(10,20);
//Se transforma en self-invoking function:
// La estructura consta de (Definición de la función)(argumentos)
(function (a,b){
alert("Suma="+(a+b).toString());
})(30,40,40);
//comprueba el resultado
// El resultado es correcto en ambos casos
//4-Self-invoking function con numero ilimitado de parametros
(function(){
var s=0;
for(var i=0;i<arguments.length;i++)
{
s=s+arguments[i];
}
alert("Suma="+s);
})(10,20,30,40);
//5-Self-invoking con valor de retorno
//Partimos de una funcion con nombre
function ObtenerDiferencias(a,b){
return (a-b);
}
var c=ObtenerDiferencias(10,20);
alert(c);
//Ahora la transformamos en self-invoking
var c=(function (a,b){
return (a-b);
}) (100,200);
alert(c);
//Podriamos evitarnos la variable c, de nuevo con una función que se llama a sí misma.
alert((function (a,b){
return (a-b);
}) (100,200));
</script>
</head>
<body>
</body>
</html>