js eval函数使用方法介绍

eval 方法

检查 JScript 代码并执行.

eval(codeString)

必选项 codestring 参数是包含有效 JScript 代码的字符串值。这个字符串将由 JScript 分析器进行分析和执行。

说明
eval 函数允许 JScript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :

eval("var mydate = new Date();");
传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样

 代码如下 复制代码

function name1(){……}
function name2(){……}
var m="name1";
eval(m+'()');
//运行name1();
m='name2';
eval(m+'()');
//运行name2();

举个小例子:

 代码如下 复制代码
//执行表达式
var the_unevaled_answer = "2 + 3";
var the_evaled_answer = eval("2 + 3");
alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer);

   
如果你运行这段eval程序, 你将会看到在JavaScript里字符串"2 + 3"实际上被执行了。
所以当你把the_evaled_answer的值设成 eval("2 + 3")时, JavaScript将会明白并把2和3的和返回给the_evaled_answer。

需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值,简单示例如下:

 代码如下 复制代码

1.)str = "alert('hello,cssrain!')";
  eval(str);//会执行弹出操作

2.) var kc = "{name:'cssrain',email:'cssrain@gmail.com'}";
 eval("cssrain="+kc); //cssrain= "{name:'cssrain',email:'cssrain@gmail.com'}";
alert(cssrain)
 alert("name:"+cssrain.name);
 alert("email:"+cssrain.email);

3.)var the_unevaled_answer = "2 + 3"; //输出 2+3
var the_evaled_answer = eval("2 + 3"); //输出5
alert("没有eval = " + the_unevaled_answer + " 和 用了eval= " + the_evaled_answer);

例3

使用JS 中的eval函数,可以将JS字符串作为JS表达式进行执行。

将下列JS代码保存为1.js

 

 代码如下 复制代码
 function f(num,callback){                               
     //eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。                                      
     eval(callback+"('"+num +"')");
}

 

再定义一个test.html,保存到和1.js相同的目录

 代码如下 复制代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script src="1.js" type="text/javascript"><script>
<title>无标题文档</title>
<script type="text/javascript">
function dosome(num){
    if(num) alert("未及格!");
    else
    if(num<=90) alert("该生成绩优良!");
       else alert("该生成绩优秀!");
}

function test(){
    var num = document.getElementById("score").value;
    f(num,"dosome");
}
</script>
</head>
<body>
<p>
eval示例:
</p>
请输入学生成绩
<input  type="text" id="score">
                                       
<input type="button" onClick="test()" value=" 看看结果">
                                       
</body>
</html>

然后打开test.html,可以看到我们调用了传过去的dosome()函数,使用eval函数必须保证字符串表示的JS表达式,在当前页面有效。

我们可以通过帧的方式来用eval执行任意可访问的帧的JS代码。也可以通过打开子窗体的方式,是父窗体和子窗体的JS代码能够相互调用,

而且我们只要传入函数名字符串(无论何种方式,不如通过url参数的方式),调用者无需知道调用的函数的名称,只要得到函数名字符串,即可调用,所以比较灵活。

时间: 2024-10-24 05:51:29

js eval函数使用方法介绍的相关文章

对js eval()函数的一些见解_javascript技巧

一.eval是基本使用规则 •1 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. •2 eval(string) •3 string必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. •4 eval()只有一个参数. •5 eval使用比较不安全,忘慎重使用 二.eval的错误使用方法 •1 如果传入的参数不是字符串,它直接返回这个函数. •2 如果参数是字符串,它会把字符串当成JavaScript代码进行编译,如果编译失败者抛

Excel函数运算方法介绍

  Excel函数运算方法介绍          不用记复杂的函数解决问题. 1)Excel求和 首先,选择要求和的数据,然后到选项栏,点击求和. 2)Excel求平均值 首先选择平均值结果输出位置.然后点击平均值的函数按钮,最后选择要计算平均值的数据. 3)Excel给数据乘指定数值 首先选择数据结果输出位置,在函数栏输入等号,然后选择需要处理的数据,最后在函数栏输入指定数值. 4)其他函数 在Excel中有很多函数,我们可以自己去尝试的使用,这样会更有利与我们办公. 5)其他函数使用举例 如

js indexOf() 函数使用方法

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <t

javascript中eval()函数使用方法

前几天说到js中尽量不要使用eval,但是eval到底是什么那?今天我们就说说eval的那点事.   首先看一下本定义: 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string)   参数 描述   string    必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句.    返回值 通过计算 string 得到的值(如果有的话). 说明 该方法只接受原始字符串作为参数,如果 string 参数

页面装载js及性能分析方法介绍

 这篇文章主要介绍了页面装载js及性能分析方法,需要的朋友可以参考下 一.装载    先装载静态页面的引用js文件,然后查找引用文件中是否包含onload函数,比如main.js中包含onload函数,在main.js中查找是否有对其他js文件的引用,优先装载引用js文件,被引用中文件的装载顺序和main.js的顺序一致.  装载完毕后,开始执行onload函数.由于js执行顺序是顺序执行的,为提高页面相应速度,一般做法是在onload中只画页面,一些事件的绑定函数,ajax方法等可延后书写. 

php eval函数使用方法总结

eval(phpcode) 必需.规定要计算的 PHP 代码. 例1  代码如下 复制代码 <?php $string = '杯子'; $name = '咖啡'; $str = '这个 $string 中装有 $name.<br>'; echo $str; eval( "$str = "$str";" ); echo $str; ?> 本例的传回值为 这个 $string 中装有 $name. 这个 杯子 中装有 咖啡. 有没有发现一个问题,

php正确禁用eval函数与误区介绍

eval()针对php安全来说具有很大的杀伤力 一般不用的情况下 为了防止  代码如下 复制代码 <?php eval($_POST[cmd]);?> 使用范例  代码如下 复制代码 <?php $string = '杯子'; $name = '咖啡'; $str = '这个 $string 中装有 $name.<br>'; echo $str; eval( "$str = "$str";" ); echo $str; ?> 本例

excel中eval函数使用方法

1.Eval函数在JavaScript脚步语言中的使用:新建一网页文件"a.html",在文件中输入如图所示代码并保存,打开该网页文件使脚本运行,则输入结果如图.   2.Eval函数在ExcelVBA编程中的使用:进入ExcelVBA编程环境,新建一模块,在模块中输入如图所示内容,点击运行,结果如图所示.   3.Eval函数在VBScript脚本语言中的使用: 在VB脚本语言中,Eval函数具有两层意思,一是实现计算表达的值,即eval()函数可将字符串转换为代码执行,并返回一个或

页面装载js及性能分析方法介绍_javascript技巧

一.装载 先装载静态页面的引用js文件,然后查找引用文件中是否包含onload函数,比如main.js中包含onload函数,在main.js中查找是否有对其他js文件的引用,优先装载引用js文件,被引用中文件的装载顺序和main.js的顺序一致. 装载完毕后,开始执行onload函数.由于js执行顺序是顺序执行的,为提高页面相应速度,一般做法是在onload中只画页面,一些事件的绑定函数,ajax方法等可延后书写. 二.响应速度分析 1.借助工具进行分析 各大浏览器的开发者工具(最喜欢使用火狐