Las funciones de Microsoft JScript realizan acciones y también pueden devolver valores. A veces son los resultados de cálculos o comparaciones. Las funciones también se denominan "métodos globales".
Combinan varias operaciones en un único nombre. Esto permite simplificar el código. Para escribir un conjunto de instrucciones, asignarle un nombre y ejecutarlo, tan solo es necesario llamarlo y pasarle la información que necesite.
Para pasar información a una función hay que encerrar la información entre paréntesis después del nombre de la función. Los elementos de información que se pasan a una función se llaman argumentos o parámetros. Algunas funciones no aceptan ningún argumento, mientras que otras utilizan uno o varios. En algunas funciones el número de argumentos depende de cómo se utilice la función.
JScript admite dos tipos de funciones: las que están integradas en el lenguaje y las creadas por el propio usuario.
El lenguaje JScript incluye varias funciones integradas. Algunas permiten controlar expresiones y caracteres especiales, mientras que otras convierten cadenas en valores numéricos. Una función integrada que resulta útil es eval(). Esta función evalúa cualquier código de JScript válido que se presente en forma de cadena. La función eval() recibe un argumento: el código que se va a evaluar. A continuación se muestra un ejemplo de cómo usar esta función.
var unaExpresion = "6 * 9 % 7"; var total = eval(unaExpresion); // Asigna el valor 5 a la variable total. var otraExpresionMas = "6 * (9 % 7)"; total = eval(otraExpresionMas) // Asigna el valor 12 a la variable total. // Asigna una cadena a la totalidad (tenga en cuenta las comillas anidadas) var totalidad = eval("'...rodeado por hectáreas de olivares.'");
Consulte la referencia del lenguaje de JScript para obtener más información acerca de éstas y otras funciones integradas.
Puede crear sus propias funciones y utilizarlas cuando las necesite. La definición de una función está formada por una instrucción function y un bloque de instrucciones de JScript.
La función compruebaTriangulo del siguiente ejemplo usa como argumentos las longitudes de los lados de un triángulo. Con ellas calcula si los tres números cumplen el teorema de Pitágoras (en un triángulo rectángulo, la suma del cuadrado de los catetos es igual al cuadrado de la hipotenusa) para comprobar si el triángulo es rectángulo. La función compruebaTriangulo llama a una función de dos para realizar el cálculo real.
Observe el uso de un número muy pequeño ("epsilon") como variable de prueba en la versión en coma flotante de la comprobación. Debido a las incertidumbres y a los errores de redondeo en los cálculos de coma flotante, no resulta práctico probar directamente si los tres números cumplen el teorema de Pitágoras a menos que se sepa que los valores en cuestión son números enteros. Como es más exacto realizar una prueba directa, el código de este ejemplo determina si este método es apropiado y, si lo es, lo utiliza.
var epsilon = 0.00000000001; // Algún número muy pequeño contra el que se realiza la comprobación. // La función de comprobación para los enteros. function compruebaEntero(a, b, c) { // La propia función. if ( (a*a) == ((b*b) + (c*c)) ) return true; return false; } // Fin de la función de comprobación de enteros. // La función de comprobación para números de coma flotante. function compruebaFlotante(a, b, c) { // Crea el número de comprobación. var delta = ((a*a) - ((b*b) + (c*c))) // La comprobación requiere el valor absoluto delta = Math.abs(delta); // Si la diferencia es menor que epsilon, es muy aproximada. if (delta < epsilon) return true; return false; } // Fin de la función de comprobación de coma flotante. // La comprobación del teorema. function compruebaTriangulo(a, b, c) { // Crea una variable temporal para intercambiar valores var d = 0; // Primero pasa el lado mayor a la posición "a". // Intercambia a y b si es necesario if (b > a) { d = a; a = b; b = d; } // Intercambia a y c si es necesario if (c > a) { d = a; a = c; c = d; } // Comprobar los tres valores. ¿Son enteros? if (((a % 1) == 0) && ((b % 1) == 0) && ((c % 1) == 0)) { // Si lo son se utiliza la comprobación precisa. return compruebaEntero(a, b, c); } else { // Si no lo son, se obtienen los valores más próximos. return compruebaFlotante(a, b, c); } } // Fin de la función de comprobación del teorema. // Las tres instrucciones siguientes asignan valores de prueba para realizar una comprobación. var ladoA = 5; var ladoB = 5; var ladoC = Math.sqrt(50.001); // Llama a la función. Después de la llamada, 'resultado' contiene el resultado. var resultado = compruebaTriangulo(ladoA, ladoB, ladoC);
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com. |