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 |
详情见/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
版权声明:本文标题:eval学习笔记 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1709902071a549464.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论