JS Dynamic Invocation Method Name example Introduction to _javascript Tips

Source: Internet
Author: User
First look at a function of JS

JavaScript eval () function
Definitions and usage

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

Eval (String)

Parameter description

String required. The string to evaluate, which contains the JAVASCRIPT expression to evaluate or the statement to execute.

return value

The value, if any, obtained by calculating the string.

Description

The method accepts only the original string as a parameter, and if the string argument is not the original string, the method returns without any changes. Therefore, do not pass a String object as an argument for the eval () function.

If you attempt to overwrite the Eval attribute or assign the eval () method to another property and call it through this 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 invoked illegally, a Evalerror exception is thrown.

If the Javascript code passed to eval () generates an exception, eval () passes the exception to the caller.

Tips and comments

Tip: Although the eval () is very powerful, it is not much used in practice.

Instance

Example 1

In this case, we'll use Eval () on several strings, and look at the returned results:
Copy Code code as follows:

<script type= "Text/javascript" >

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

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

var x=10
document.write (eval (x+17))

</script>

Output:

200
4
27

Example 2

Look at the results of the eval () return in other cases:
Copy Code code as follows:

Eval ("2+3")//Return 5
var myeval = eval; Evalerror exception may be thrown
Myeval ("2+3"); Evalerror exception may be thrown

You can use the following code to detect if the parameters of eval () are legitimate:
Copy Code code as follows:

try {
Alert ("Result:" + eval (Prompt ("Enter a expression:", ""));
}

catch (Exception) {
alert (exception);
}

The first method is to use the eval inside JS

Here are some examples of your own writing
Copy Code code as follows:

Call ("ShowMsg");

function call (functionname) {
Eval ("this." +functionname+ "()");
}
function ShowMsg () {
Alert ("Success");
}

Eval can automatically recognize the string you splice as a method and call it.

But the malpractice is also very big, imagine, a person change you call place of method name, can call your any method.

The second method is primarily used as a method of its own definition

The main reason is that the second method requires a specific way to write
Copy Code code as follows:

function call (functionname) {
showmsgs["ShowMsg"] ();
}

var showmsgs = {Showmsg:function () {
Alert ("Success");
}
}
Call ("ShowMsg");

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.