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又有什么关系呢?还是感觉不出什么必然的联系.
分享到:
相关推荐
接下来将详细解析这些知识点。 ### ASP.NET Repeater 控件 #### 1. Repeater控件简介 Repeater控件是一种非常灵活的数据绑定控件,它能将数据源中的数据格式化为任意HTML标记结构。与DataList或GridView等其他数据...
自定义组件的最简单方法是使用JSS,其编写方式与scss类似。 增加耀斑可能意味着很多不同的事情。尤其是在涉及到开发人员的地方,我感觉其中包括添加了许多表情符号。 :party_popper: :party_popper: :party_popper: ...
感觉还有更好的方法,是直接利用logging.config.fileConfig(log_config_file)方式读进来之后,通过修改handler方式来进行修改。 复制代码 代码如下:“””project trace system“””import sysimport ConfigParser...
自己想了个办法,但是用到了很多eval还有循环,感觉不是很好: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这个是数组的实现方法 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 高手支招 如果我完成类似...
因此,推荐使用JSON.parse()来替代eval()方法,或者在服务器端做好数据的清洗和验证,确保返回的数据是安全的。 12. **代码组织和管理**: 为了便于维护和管理,开发者通常会将JavaScript代码和后端Java代码进行分离...
感觉非常Perlish,它有匿名方法、不止一种做事方式、奇怪的运算符,甚至还有一个上下文变量! 你很快就会有宾至如归的感觉:) 现在,我不会尝试教你如何编程,也不会学习基本的编程知识。 相反,我将在 Perl 5 和 ...
8. **优化用户体验**:为了让用户感觉更像是在使用桌面应用,可以考虑添加自定义的“保存”、“撤销”、“重做”按钮,并通过调用相应的FCKeditor API实现这些功能。 集成FCKeditor到WinForm可能需要一些JavaScript...
- 等号按钮执行计算,可能需要使用 `eval()` 方法解析表达式,或者手动实现计算逻辑。 - 清零和退格按钮分别重置输入和删除最后一个字符。 5. **设计模式** - MVC(模型-视图-控制器)模式:模型负责数据计算,...
标签“独一无二”强调了这种特效的独特性和创新性,意味着它可能采用了不同于传统图像展示方法的技术或设计理念,为用户带来耳目一新的感觉。接下来,我们将深入分析代码片段中所涉及的关键知识点,以便更好地理解这...
网页计算器的核心在于JavaScript的`getElementById`方法和`eval()`函数。`getElementById`用于获取用户点击的按钮对应的字符,这些字符被连接成字符串。当用户点击"="键时,`eval()`函数将字符串转化为JavaScript...
目前screeps的开发,感觉所有的代码都是在每个tick的eval(),每个tick之间的实例都没有存入内存。 使用原型的唯一优点是可以构建您的代码并提高这种可读性。收藏这是一个嵌入了许多方法来帮助操作实体的...
4. **数据绑定**:ASP.NET提供了多种数据绑定机制,如`DataBinder.Eval`、`Bind`和`DataSource控件`。这些方法可以将数据源中的数据绑定到控件,简化了数据展示和操作。理解不同的数据绑定方式及其应用场景对于开发...
块中的代码通过`instance_eval`执行,`title`方法属于新创建的实例。`pack`是一个几何管理器,接受一个哈希作为参数,类似于Java的FlowLayout,按照定义顺序放置控件。`mainloop`是事件处理器,负责处理事件。 Ruby...
4. **样式和主题**:为了符合网站的整体设计,控件可能支持自定义CSS样式或预定义的Bootstrap主题,以改变其外观和感觉。 5. **验证**:ASP.NET验证控件如`RequiredFieldValidator`、`RangeValidator`可用于确保...
以下将详细探讨使用JavaScript实现这一效果的方法。 首先,该效果的关键在于理解HTML、CSS和JavaScript三者如何协同工作。HTML用于构建页面结构,CSS用于页面的样式和布局,而JavaScript则负责实现动态效果和交互...
所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了。。。 说来也巧,redis的大老板给了你解决这种问题的方法,那就是Lua脚本,而且redis的最新版本也支持Lua Script debug,这应该也是未来Redis的一 个...
1. 客户端 -> 服务端的问题 1.1. get 方式提交短数据效率比 post 方式高 原因:个人感觉 1.2.... 这种方法对非标码位置比较有规律(比如存放在不同的变量中)的情况比较合适。 在服务端获取后无须用 unescape
或者Amazon.com这样的极受欢迎的站点,你不会感觉出PHP的速度与其他的有什么不同。最起码我就没有感觉出来!好了,让我们来看看PHP有那些优点: - 学习过程 我个人更喜欢PHP的非常简单的学习过程。与Java和Perl...
总之,感觉网站的URL上面有参数是一件很别扭的事情,一方面很容易被注入,另一方面,参数传递很容易泄露一些有用的信息。 而这篇文章主要针对的是网站URL显示的伪静态化,这样就抛弃了直接生成纯静态页的麻烦,而且...
感觉是同一文件,删除一个,对另一个没有影响;须两个都删除才算删除。 ln -s file1 file1.sln 创建软链接。可跨系统操作,冲破操作权限;也是快捷方式。 八、时间显示 date 显示时间,精确到秒 用法 date [-u]...