In JS, how to dynamically invoke the method name, presumably a lot of friends will not, the following examples for the introduction of the specific method of invocation
First look at a function of JS javascript eval () function Define and use the eval () function to evaluate a string and execute the JavaScript code in it. Syntax eval (string) parameter description string required. The string to evaluate that contains the JAVASCRIPT expression to be evaluated or the statement to execute. return value the value (if any) obtained by calculating a string. Description The method accepts only 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 this property, the ECMAScript implementation allows a Evalerror exception to be thrown. throw throws an SyntaxError exception if there are no valid expressions and statements in the argument. throws an Evalerror exception if Eval () is called illegally. If the Javascript code passed to eval () generates an exception, eval () passes the exception to the caller. tips and Comments tips: Although the function of eval () is very powerful, there are not many cases where it is used in practice. Examples Example 1 in this example, we will use Eval () on a few strings and see the results returned: code as follows:
<script type="text/javascript"> eval ("x=10;y=20; document.write (x*y)") document.write (eval (" ) var x= document.write (eval (x+ +))
Output:
$ 4 -
Example 2 look at the result of Eval () in other cases: The code is as follows:
var////
The following code can be used to detect whether the parameters of eval () are legitimate: The code is as follows:
Try {alert ("Result:" + eval (Prompt ("Enter An expression:", "")));} Catch
The first method is to use the inside of the eval in JS below is the example code that you wrote below:
Call ("ShowMsg"); function Call (functionname) {eval ("this.") +functionname+ "()"function showmsg () {alert ("Success");}
Eval can automatically recognize the string you are stitching as a method and call it. But the disadvantage is also very big, imagine that someone changed the name of the method you call the place, you can call any of your methods. The second method is primarily used as the method of its own definition, primarily the second method requires a specific way to write the code as follows:
function Call (functionname) {showmsgs["showmsg"] ();} var function () {alert ("Success");}} Call (