Definition and usage
The eval () function computes a string and executes the JavaScript code in it.
Grammar
Eval (String)
Parameters |
Description |
String |
Necessary. The string to evaluate that contains the JAVASCRIPT expression to be evaluated or the statement to execute. |
return value
The value (if any) that is obtained by calculating the string.
Description
The method only accepts the original string as an argument, and if the string parameter is not the original string, the method returns without any change. Therefore, do not pass a String object as a parameter for the eval () function.
If you attempt to override the Eval property or assign the eval () method to another property and call it through the property, the ECMAScript implementation allows a Evalerror exception to be thrown.
Thrown
Throws an SyntaxError exception if there are no valid expressions and statements in the argument.
If Eval () is called illegally, a Evalerror exception is thrown.
If the Javascript code passed to eval () generates an exception, eval () passes the exception to the caller.
Hints and Notes
Tip: Although the function of eval () is very powerful, there are not many cases where it is used in practice.
Example 1
In this example, we will use Eval () on a few strings and see the results returned:
<script type= "Text/javascript" >eval ("X=10;y=20;document.write (x*y)") document.write (eval ("+ +)") var x= 10document.write (eval (x+17)) </script>
Output:
200427
Example 2
Take a look at the result of the Eval () return in other cases:
Eval ("2+3")//return 5var Myeval = eval;//may throw Evalerror exception Myeval ("2+3");//May throw Evalerror exception
The following code can be used to detect whether the parameters of eval () are legitimate:
Try { alert ("Result:" + eval (Prompt ("Enter An expression:", ""))); } catch (Exception) { alert (exception); }
About catch:
try {
return a/b;
catch (Exception e) {
When B is 0, you can print a hint: The divisor cannot be 0.
}
The common principle of the anomaly is that when something goes wrong, you don't want to just shut down the program directly, so it's handled in the exception you caught, so the program can continue to run, not shut down immediately.
Above you return a/b, normally B is not 0, then return directly, will not execute the catch, but when your B is 0, you can not return the data, then the exception, the exception is caught by catch, execute the statement in the catch, and then continue to run the following code.
Eval () and catch () in JS