AvailabilityJavaScript 1.0; JScript 1.0; ECMAScript v1 Synopsiseval(code) Arguments
ReturnsThe value of the evaluated code, if any. Throws
Descriptioneval( ) is a global method that evaluates a string containing JavaScript code. If code contains an expression, eval evaluates the expression and returns its value. If code contains a JavaScript statement or statements, eval( ) executes those statements and returns the value, if any, returned by the last statement. If code does not return any value, eval( ) returns undefined. Finally, if code throws an exception, eval( ) passes that exception on to the caller. eval( ) provides a very powerful capability to the JavaScript language, but its use is infrequent in real-world programs. Obvious uses are to write programs that act as recursive JavaScript interpreters and to write programs that dynamically generate and evaluate JavaScript code. Most JavaScript functions and methods that expect string arguments accept arguments of other types as well and simply convert those argument values to strings before proceeding. eval( ) does not behave like this. If the code argument is not a primitive string, it is simply returned unchanged. Be careful, therefore, that you do not inadvertently pass a String object to eval( ) when you intended to pass a primitive string value. For purposes of implementation efficiency, the ECMAScript v3 standard places an unusual restriction on the use of eval( ). An ECMAScript implementation is allowed to throw an EvalError exception if you attempt to overwrite the eval property or if you assign the eval( ) method to another property and attempt to invoke it through that property. Exampleeval("1+2"); // Returns 3 // This code uses client-side JavaScript methods to prompt the user to // enter an expression and to display the results of evaluating it. // See the client-side methods Window.alert( ) and Window.prompt( ) for details. try { alert("Result: " + eval(prompt("Enter an expression:",""))); } catch(exception) { alert(exception); } var myeval = eval; // May throw an EvalError myeval("1+2"); // May throw an EvalError |