【转】eval()函数(javascript) - [javaScript]
短信预约 -IT技能 免费直播动态提醒
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://bywind.yourblog.org/logs/227398.html
http://bywind.yourblog.org/logs/227398.html
eval()函数
JavaScript有许多小窍门来使编程更加容易。
其中之一就是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。
举个小例子:
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。
这个看起来似乎有点傻,其实可以做出很有趣的事。比如使用eval你可以根据用户的输入直接创建函数。
这可以使程序根据时间或用户输入的不同而使程序本身发生变化,通过举一反三,你可以获得惊人的效果。
在实际中,eval很少被用到,但也许你见过有人使用eval来获取难以索引的对象。
文档对象模型(DOM)的问题之一是:有时你要获取你要求的对象简直就是痛苦。
例如,这里有一个函数询问用户要变换哪个图象:变换哪个图象你可以用下面这个函数:
function swapOne()
{
var the_image = prompt("change parrot or cheese","");
var the_image_object;
if (the_image == "parrot")
{
the_image_object = window.document.parrot;
}
else
{
the_image_object = window.document.cheese;
}
the_image_object.class="lazy" data-src = "ant.gif";
}
连同这些image标记:
[img class="lazy" data-src="stuff3a/parrot.gif" name="parrot"]
[img class="lazy" data-src="stuff3a/cheese.gif" name="cheese"]
请注意象这样的几行语句:
the_image_object = window.document.parrot;
它把一个图象对象敷给了一个变量。虽然看起来有点儿奇怪,它在语法上却毫无问题。
但当你有100个而不是两个图象时怎么办?你只好写上一大堆的 if-then-else语句,要是能象这样就好了:
function swapTwo()
{
var the_image = prompt("change parrot or cheese","");
window.document.the_image.class="lazy" data-src = "ant.gif";
}
不幸的是, JavaScript将会寻找名字叫 the_image而不是你所希望的"cheese"或者"parrot"的图象,
于是你得到了错误信息:”没听说过一个名为the_image的对象”。
还好,eval能够帮你得到你想要的对象。
function simpleSwap()
{
var the_image = prompt("change parrot or cheese","");
var the_image_name = "window.document." + the_image;
var the_image_object = eval(the_image_name);
the_image_object.class="lazy" data-src = "ant.gif";
}
如果用户在提示框里填入"parrot",在第二行里创建了一个字符串即window.document.parrot. 然后包含了eval的第三
行意思是: "给我对象window.document.parrot" - 也就是你要的那个图象对象。一旦你获取了这个图象对象,你可以把
它的class="lazy" data-src属性设为ant.gif. 有点害怕?用不着。其实这相当有用,人们也经常使用它。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
【转】eval()函数(javascript) - [javaScript]
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
【转】eval()函数(javascript) - [javaScript]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bywind.yourblog.org/logs/227398.htmleval()函数JavaScript有许多小窍门来使编程更加容易。其中之一就是eval()
2023-06-03
JavaScript中eval()函数怎么用
小编给大家分享一下JavaScript中eval()函数怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. eval函数有什么用?调用eval函数,可以将其
2023-06-15
JavaScript eval()函数的作用是什么
JavaScript的eval()函数的作用是将一个字符串作为脚本代码进行解析和执行。它可以动态地执行字符串中的JavaScript代码,并返回执行结果。eval()函数可以用于执行任何有效的JavaScript代码,包括声明变量、定义函数
2023-10-11
javascript中eval函数的作用是什么
本篇文章给大家分享的是有关javascript中eval函数的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。(1)介绍javascript中的eval函数的用法(2)
2023-06-03
盘点JavaScript中Eval函数的使用方法
今天我们一起来盘点一下JavaScript中Eval函数的使用方法都有哪些吧。
2024-04-02
2024-04-02
2024-04-02
2024-04-02
JavaScript 中 Eval 函数的前世今生,执行代码字符串
代码压缩工具(在把 JS 投入生产环境前对其进行压缩的工具)将局部变量重命名为更短的变量(例如 a 和 b 等),以使代码体积更小。
python3 eval()函数
eval()函数十分强大,官方demo解释为:将字符串str当成有效的表达式来求值并返回计算结果。so,结合math当成一个计算器很好用。可以把list,tuple,dict和string相互转化a = "[[1,2], [3,4], [5
2023-01-31
JavaScript如何使用eval()函数和数组的join()方法实现求和
这篇文章主要为大家展示了“JavaScript如何使用eval()函数和数组的join()方法实现求和”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript如何使用eval()函数和
2023-06-17
Python-2 eval函数
x = 1result = "x+1"result = eval(result)print(result)》》2Python3中字符串不能计算结果,eval函数将字符串当成有效Python表达式来求值,并返回计算结果。与之对应的repr函数
2023-01-31
2023-09-23
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2023-09-06