Primero veamos una función de JS.
Función de evaluación de JavaScript ()
Definición y uso
La función eval() evalúa una cadena y ejecuta el código JavaScript dentro de ella.
gramática
evaluación (cadena)
Descripción del parámetro
cadena requerida. Una cadena para evaluar que contiene una expresión JavaScript para evaluar o una declaración para ejecutar.
valor de retorno
El valor obtenido al evaluar la cadena (si corresponde).
ilustrar
Este método solo acepta cadenas sin formato como parámetros. Si el parámetro de cadena no es una cadena sin formato, el método devolverá sin cambios. Por lo tanto, no pase objetos String como parámetros a la función eval().
Las implementaciones de ECMAScript permiten que se genere una excepción EvalError si se intenta anular la propiedad eval o asignar el método eval() a otra propiedad y llamarlo a través de esa propiedad.
Tirar
Si no hay expresiones o declaraciones legales en los parámetros, se genera una excepción SyntaxError.
Si se llama a eval() ilegalmente, se lanza una excepción EvalError.
Si el código Javascript pasado a eval() genera una excepción, eval() pasará la excepción a la persona que llama.
Consejos y notas
Consejo: aunque eval() es muy poderoso, rara vez se usa en el uso real.
Ejemplo
Ejemplo 1
En este ejemplo, aplicaremos eval() a varias cadenas y veremos qué resultados se devuelven:
Copie el código de código de la siguiente manera:
<tipo de script="texto/javascript">
eval("x=10;y=20;document.write(x*y)")
documento.write(eval("2+2"))
varx=10
documento.write(eval(x+17))
</script>
Producción:
200
4
27
Ejemplo 2
Mira lo que devuelve eval() en otros casos:
Copie el código de código de la siguiente manera:
evaluación("2+3") // devuelve 5
var myeval = eval; // Se puede generar una excepción EvalError
myeval("2+3"); // Se puede lanzar una excepción EvalError
Puede utilizar el siguiente código para comprobar si los parámetros de eval() son legales:
Copie el código de código de la siguiente manera:
intentar {
alert("Resultado:" + eval(prompt("Ingrese una expresión:","")));
}
captura (excepción) {
alerta (excepción);
}
El primer método es usar eval en js.
El siguiente es un ejemplo escrito por mí.
Copie el código de código de la siguiente manera:
llamar("mostrarmensaje");
llamada de función (nombre de función) {
eval("esto."+NombreFunción+"()");
}
función mostrar mensaje(){
alerta("éxito");
}
eval puede reconocer automáticamente la cadena que empalmó como método y llamarla.
Pero las desventajas también son grandes. Imagina que alguien puede llamar a cualquiera de tus métodos cambiando el nombre del método donde lo llamas.
El segundo método se utiliza principalmente como método autodefinido.
Principalmente porque el segundo método requiere una forma específica de escribir.
Copie el código de código de la siguiente manera:
llamada de función (nombre de función) {
mostrarmsgs["mostrarmsg"]();
}
var mostrarmsgs = { mostrarmsg: función () {
alerta("éxito");
}
}
llamar("mostrarmensaje");