admin 管理员组

文章数量: 1184232


2024年3月8日发(作者:floormap什么意思)

计算一个表达式的值并返回结果。

[result = ]Eval(expression)

参数

result

可选项。是一个变量,用于接受返回的结果。如果未指定结果,应考虑使用

Execute 语句代替。

expression

必选项。可以是包含任何有效 VBScript 表达式的字符串。

说明

在 VBScript 中,x = y 可以有两种解释。第一种方式是赋值语句,将 y 的值赋予 x。第二种解释是测试 x 和 y 是否相等。如果相等,result 为 True;否则

result 为 False。Eval 方法总是采用第二种解释,而 Execute 语句总是采用第一种。

注意 在Microsoft® JScript™ 中不存在这种比较与赋值的混淆,因为赋值运算符

(=) 与比较运算符 (==) 不同。

下面的例子说明了 Eval 函数的用法:

Sub GuessANumber

Dim Guess, RndNum

RndNum = Int((100) * Rnd(1) + 1)

Guess = CInt(InputBox("Enter your guess:",,0))

Do

If Eval("Guess = RndNum") Then

MsgBox "祝贺你!猜对了!"

Exit Sub

Else

Guess = CInt(InputBox("对不起,请再试一次",,0))

End If

Loop Until Guess = 0

End Sub

2:

javascript 里面eval表示的是什么函数呀?

悬赏分:5 - 解决时间:2007-9-13 22:38

这个是放之间的

这个是放body之间的

onMouseOver="mover(0)" onMouseOut="mout(0)">dreamweaver

onMouseOut="mout(2)">fireworks

onMouseOut="mout(1)">flash

onMouseOut="mout(3)">excel

onMouseOut="mout(4)">word

想学什麽,就按下去吧!

详情见/pc/homepage/javascript/sample/

提问者: dchua - 试用期 一级

最佳答案

eval可以将字符串生成语句执行,和SQL的exec()类似。

eval的使用场合是什么呢?有时候我们预先不知道要执行什么语句,只有当条件和参数给时才知道执行什么语句,这时候eval就派上用场了。举个例子:

我们要做一个function(),功能是输入网页中两个个对象的名称,然后程序就将这两个对象的值联接起来输出。

function output(a,b)

{

var tmpa,tmpb;

tmpa=;

tmpb=;

(tmpa+tmpb);

}

output('input1','input2');

这样你执行的时候就会提示错误“.a不是对象”以及“.b不是对象”。原来javascript把a和b当成对象名称了,怎样能让javascript把a里面的值作为对象名称呢?这时候就要用eval了,把代码改成这样:

function output(a,b)

{

var tmpa,tmpb;

tmpa=eval("."+a+".value");

tmpb=eval("."+b+".value");

(tmpa+tmpb);

}

output('input1','input2');

这样javascript就会先取出a,b的值,然后和前面的.以及后面的.value组合运行,于是就可以

顺利取出input1和input2的值,我们的目的达到了。

回答者:目无天 - 魔法学徒 一级 8-24 23:32

评价已经被关闭 目前有 1 个人评价

100% (1)

不好

0% (0)

其他回答 共 2 条

eval是好东西啊。把javascript代码转换成ecmascript代码。

回答者:wjfcfy - 秀才 二级 9-4 17:42

Eval 函数

功能:先解释Javascript代码,然后在执行它

用法:Eval(codeString)

codeString是包含有Javascript语句的字符串,在eval之后使用Javascript引擎编译。

注释:

例子:eval(id + "_="/imgs/collapse_'");

id是之前设定的参数,而在双引号中的字符串则是需要编译的

引用:

--------------------------------------------------------------------------------

function tophide(id) //id indicates menu

{

if ( == "31,*")

{

= "86,*";

eval(id + "_="/imgs/collapse_'");

eval(id + "_='Collapse The Head'");

y = "block"

}

else

{

= "31,*";

eval(id + "_="/imgs/collapse_'");

eval(id + "_='Expand The Head'");

y = "none"

}

}

javaScript的一道题目,请高手看看.

悬赏分:50 - 解决时间:2007-3-24 20:12

题目如下:

编写一段程序,对变量命名为 a1,a100,这种变量名形式的多个变量(注意,不是数组)逐个赋以从0~100之间的随机数.要使用eval()方法.

请高手帮我写写代码.看看eval函数到底意在何处?该问题如何写代码?

谢谢你呀!!

问题补充:一楼的,tostring()是什么意思啊?这函数有何作用啊?

提问者: 索娴 - 经理 四级

最佳答案

Javascript中eval函数的用法

JavaScript有许多小窍门来使编程更加容易。其中之一就是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。以下是它的说明

Eval 函数

功能:先解释Javascript代码,然后在执行它

用法:Eval(codeString)

codeString是包含有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你可以根据用户的输入直接创建函数。这可以使程序根据时间或用户输入的不同而使程序本身发生变化,通过举一反三,你可以获得惊人的效果。

回答者:mwyf - 助理 三级 3-24 08:47

评价已经被关闭 目前有 0 个人评价

50% (0)

不好

50% (0)

其他回答 共 1 条

for (var i = 1; i < 101; i++)

{

eval("a" + ng() + " = " + ng() + ";");

}

用 eval 的好处,就是 变量名 可以 用字符组合而成。

toString 是显式的 转为字符串。

3:

eval用法三例,与大家分享,很有用o !

作者:山地獾 发表时间:2002/09/26 06:17pm

## eval用法三例 ##

## shell:/bin/sh ##

## yhc 2002.09.26 18:00 ##

#例一:

#寻找合符条件的变量名,然后将该变量的值赋予另一变量

v1=aaa

v2=bbb

c=1

if [ $c -eq 1 ]

then

vname=v$c #找到符合条件的变量名为v1

eval vvv="$"$vname ; echo vvv: $vvv #将变量v1的值赋予vvv,即,使vvv=aaa

eval vvv='$'$vname ; echo vvv: $vvv #将变量v1的值赋予vvv,即,使vvv=aaa

#eval vvv=$$vname ; echo vvv: $vvv #错误用法

fi

#例二:#以变量v1的值aaa作为变量名,将变量vaaa的值赋予这一新定义的变量aaa

v1=aaa ; vaaa="This is aaa"

#eval $v1=$vaaa ; echo aaa: $aaa #错误用法

#eval $v1="$vaaa" ; echo aaa: $aaa #错误用法

eval $v1='$vaaa' ; echo aaa: $aaa

#例三:

#以变量v1的值aaa作为变量名,并将变量名字串作为值赋予自身

v1=aaa ; vaaa="This is aaa"

eval $v1=$v1 ; echo aaa: $aaa #与例二的错误用法不同,这一用法是正确的

eval $v1="$v1" ; echo aaa: $aaa #与例二的错误用法不同,这一用法是正确的

eval $v1='$v1' ; echo aaa: $aaa

4:

计算一个表达式的值并返回结果。

[result = ]Eval(expression)

参数

result

可选项。是一个变量,用于接受返回的结果。如果未指定结果,应考虑使用 Execute 语句代替。

expression

必选项。可以是包含任何有效 VBScript 表达式的字符串。

说明

在 VBScript 中,x = y 可以有两种解释。第一种方式是赋值语句,将 y 的值赋予 x。第二种解释是测试 x

和 y 是否相等。如果相等,result 为 True;否则 result 为 False。Eval 方法总是采用第二种解释,而

Execute 语句总是采用第一种。

注意 在Microsoft® JScript™ 中不存在这种比较与赋值的混淆,因为赋值运算符 (=) 与比较运算符 (==)

不同。

下面的例子说明了 Eval 函数的用法:

Sub GuessANumber

Dim Guess, RndNum

RndNum = Int((100) * Rnd(1) + 1)

Guess = CInt(InputBox("Enter your guess:",,0))

Do

If Eval("Guess = RndNum") Then

MsgBox "祝贺你!猜对了!"

Exit Sub

Else

Guess = CInt(InputBox("对不起,请再试一次",,0))

End If

Loop Until Guess = 0

End Sub


本文标签: 函数 字符 解释