JavaScript es un lenguaje de programación para la Web se utiliza para realizar cálculos o controlar el diseño de páginas Web , mientras incrustado en escritura HTML. El poder y la flexibilidad de JavaScript proviene del hecho de que JavaScript es un lenguaje orientado a objetos , lo que significa que contiene algunas funciones de otros lenguajes . Debido a esto , muchos tipos de datos en JavaScript son objetos , incluyendo las funciones . Funciones que se comportan como objetos permite a los programadores a hacer cosas interesantes con ellos, como un nido en otras funciones. Funciones y valores devueltos
funciones suelen tener una lista de argumentos , ejecutar un código en base a estos argumentos, y, o bien realizar una operación o devolver un valor. Cuando una función devuelve un valor , esto significa que la función en un sentido emite un valor , que un programador puede asignar a una variable o utilizar en otro cálculo . El valor devuelto puede ser un tipo de datos escalar ( tal como un número entero ) , o un objeto . Por ejemplo , la siguiente función toma un número y devuelve el número multiplicado por tres:
triple función (x )
{ return x * 3 ;
< p >}
funciones anidadas
dentro de una función , el programador puede definir una nueva función para realizar alguna tarea . El proceso de definición es exactamente la misma , pero el uso de la función difiere . Cuando un programador declara una función en el ámbito global , se puede utilizar esta función durante todo el programa . Cuando un programador declara una función dentro de otra función , sin embargo , el único lugar en el que puede utilizar esa función dentro de la función que la declaró pulg El siguiente ejemplo ilustra este punto:
triple función (x )
{
función
addThree ( y) {
vuelta y + y + y;
}
regreso addThree (x ) //devuelve el resultado regreso de " addThree "
}
doble función (x )
{
addThree (x ) //ilegal, addThree puede sólo puede llamar desde el interior de la " triple" función
Variables y funciones anidadas
la razón funciones no pueden llamar a cualquier función declarada dentro de otras funciones se debe a la interna función no se encuentra en el exterior funciones de "ámbito ". La función " addThree " existe en el ámbito de aplicación de la función de "triple " . la función de " doble " está fuera de alcance de triples , y no puede acceder a sus partes internas . Sin embargo, " addThree " está dentro de alcance " de triple" , y por lo tanto pueden acceder a la parte interna de "triple ". Esto significa que las variables declaradas en el "triple" son justo usar para " addThree ", y la función podría tener este aspecto :
triple función (x )
{
función addThree () {
regreso x + x + x;
}
regreso addThree
Volviendo Otras funciones
Dado que las funciones son objetos, una función puede devolver una función en lugar de datos. Esto significa que ciertas funciones se pueden tomar los datos para dar a otras funciones , anidadas , y devolver esas funciones . Entonces , el programador puede llamar a la función interna de fuera del alcance funciones externa . El siguiente ejemplo detalla cómo funciona esto :
función
out ( x ) {
función
complemento ( y)
return x + y;
}
vuelta adentro;
}
x = a ( 3 ) //x ahora contiene el objeto función " add ( y) ", que tiene un valor x de 3
y = x ( 2 ) //x = " add ( 2 ) " que es 3 + 2 , por lo que y = 5