eval()方法有了点感觉
Evaluates a string and executes it as if it was script code
"动态解析!"
找了下面两个例子,对eval()方法有了些感觉.感觉这个东东像是那种病毒,它自己可以自我复制,又像是又一套执行环境,它里面可以执行String类型的句子,
<html>
<body>
<script type="text/javascript">
try{
alert("Result: "+eval(prompt("Enter an expression: "," ")) );
}catch(exception){
alert(exception);
}
</script>
</body>
</html>
在这个网页面里实验"http://www.w3schools.com/DHTML/tryit.asp?filename=trydhtml_randombanner"
<html>
<body>
<script type="text/javascript">
image0="/banners/w3schools.gif";
href0="/default.asp";
alt0="W3Schools.com";
image1="/banners/rd_htmlref.jpg";
href1="http://www.w3schools.com/html/html_reference.asp";
alt1="HTML Reference";
image2="/banners/rd_xhtml.jpg";
href2="http://www.w3schools.com/xhtml/default.asp";
alt2="ASP Free";
len=3;
now=new Date();
now=now.getSeconds();
rnd=now%len;
image=eval("image"+rnd);
href=eval("href"+rnd);
alt=eval("alt"+rnd);
document.write("I am Here:" + image + "<hr> " + rnd + "<hr> " );
document.write("<a href='" + href + "'>");
document.write("<img src='" + image + "' alt='" + alt + "'></a>");
</script>
<h3>Refresh this page to see the banner change</h3>
</body>
</html>
把
image=eval("image"+rnd);
href=eval("href"+rnd);
alt=eval("alt"+rnd);
改为:
image="image"+rnd;
href="href"+rnd;
alt="alt"+rnd;
后,出事了,
现象如下:
这是改后的显示:"I am Here: image2",改前的显示为"I am Here: /banners/w3schools.gif".
自己拼的字符串仅仅是一个干巴巴的字符串,而用eval()后的字符串就有了指针的灵性!!!
现在感觉这个eval()就像Java里的源代码调用自己的.class一样,eval()自己可以自我编译.
可这个与JSON又有什么关系呢?还是感觉不出什么必然的联系.
- 21:29
- 浏览 (440)
- 评论 (4)
- 分类: JavaScript/JSON/Ajax/ext...
- 发布在 discovery & surprise 圈子
- 相关推荐
评论
if ( typeof fn == "string" )
fn = eval("false||function(a,i){return " + fn + ";}");
eval("document.onmousedown = OnMouseDownHandler;");
比Java的反射灵活多了!
http://www.javascripttoolbox.com/bestpractices/#squarebracket
发表评论
- 浏览: 25450 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
链接
最新评论
-
自写的一个JavaScript小小 ...
被ym1981抢先了
-- by longleg -
自写的一个JavaScript小小 ...
真谢谢ym1981,我还不知道select可以这么简单地来选定,再谢谢自己,若不 ...
-- by rmn190 -
自写的一个JavaScript小小 ...
function lockSelect(id, value){ ...
-- by ym1981 -
"异常"的梦
呵呵...
-- by rmn190 -
"异常"的梦
学习Java有点疯狂了,连做个梦都能想到异常,佩服得五体投地,看来偶也要努力学习 ...
-- by celebration






评论排行榜