Javascript中eval函数的详细用法与说明

我真的是有点醉

我真的是有点醉

2016-02-19 10:01

今天给大家分享的是由图老师小编精心为您推荐的Javascript中eval函数的详细用法与说明,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!
JavaScript有许多小窍门来使编程更加容易。其中之一就是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。以下是它的说明 
Eval 函数
功能:先解释Javascript代码,然后在执行它
用法:Eval(codeString)
codeString是包含有Javascript语句的字符串,在eval之后使用Javascript引擎编译。 

举个小例子:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
如果你运行这段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.src = "ant.gif"; 


连同这些image标记:

img src="/stuff3a/parrot.gif" name="parrot" /
img 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.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.src = "ant.gif"; 


如果用户在提示框里填入"parrot",在第二行里创建了一个字符串即window.document.parrot. 然后包含了eval的第三行意思是: "给我对象window.document.parrot" - 也就是你要的那个图象对象。一旦你获取了这个图象对象,你可以把它的src属性设为ant.gif. 有点害怕?用不着。其实这相当有用,人们也经常使用它。
展开更多 50%)
分享

猜你喜欢

Javascript中eval函数的详细用法与说明

Web开发
Javascript中eval函数的详细用法与说明

javascript之eval函数

Web开发
javascript之eval函数

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Eval与EvalAssign函数的应用

设计软件 平面设计软件 广告设计软件
Eval与EvalAssign函数的应用

javascript中split函数使用说明

Web开发
javascript中split函数使用说明

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

javascript中replace()函数用法小谈

Web开发
javascript中replace()函数用法小谈

javascript eval()

Web开发
javascript eval()

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win10出现0x800488AB错误怎么办

Win10出现0x800488AB错误怎么办

HTML5中div、article、section的区别及使用介绍

HTML5中div、article、section的区别及使用介绍
下拉加载更多内容 ↓