JS Dynamic Call Method Name Example Introduction

Source: Internet
Author: User

First look at a function of JS

JavaScript eval () function

Definition and usage

The eval () function computes a string and executes the JavaScript code in it.

Grammar

Eval (String)

Parameter description

string is required. 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.

Instance

Example 1

In this example, we will use Eval () on a few strings and see the results returned:

Copy the code code as follows:

<script type= "Text/javascript" >

Eval ("X=10;y=20;document.write (x*y)")

document.write (eval ("+ +)")

var x=10

document.write (eval (x+17))

</script>

Output:

200

4

27

Example 2

Take a look at the result of the Eval () return in other cases:

Copy the code code as follows:

Eval ("2+3")//Return 5

var myeval = eval; Evalerror exceptions may be thrown

Myeval ("2+3"); Evalerror exceptions may be thrown

The following code can be used to detect whether the parameters of eval () are legitimate:

Copy the code code as follows:

try {

Alert ("Result:" + eval (Prompt ("Enter An expression:", "")));

}

catch (Exception) {

alert (exception);

}

The first method is to use the eval inside JS

Here is an example of your own writing

Copy the code code as follows:

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 a method of its own definition

Primarily the second method requires a specific way to write

Copy the code code as follows:

function call (functionname) {

showmsgs["ShowMsg"] ();

}

var showmsgs = {Showmsg:function () {

Alert ("Success");

}

}

Call ("ShowMsg");

JS Dynamic Call Method Name Example Introduction

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.