欢迎使用我的 在线工具

小D

读历史、看小说、写程序都是我所爱。技术不好,头脑不灵光,靠的是兴趣。
随笔 - 35, 文章 - 25, 评论 - 13, 引用 - 0
数据加载中……

使用eval参数进行JS函数调用

使用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参数的方式),调用者无需知道调用的函数的名称,只要得到函数名字符串,即可调用,所以比较灵活。

posted on 2011-04-06 14:46 vagasnail 阅读(6266) 评论(1)  编辑  收藏 所属分类: js

评论

# re: 使用eval参数进行JS函数调用  回复  更多评论   

的萨菲
2013-09-26 16:11 | 十大

只有注册用户登录后才能发表评论。


网站导航: