VBS --函数Eval和Execute的使用和区别
一、Eval函数:定义为计算一个表达式的值并返回结果。
注意,这里的定义虽然区区几个字,但是要仔细理解其几点含义:
1、首先这个函数是有返回值
2、返回值是通过计算Eval传递的参数
3、这个参数必须是一个表达式。
例如:
a = 1
val1 = "a=1"
MsgBox Eval(val1)
分析:
1、首先Eval有返回值,所以要有一个传递值,这里用msgbox函数显示其结果。
2、val1这个参数的值是一个表达式(a=1),因为我们在第一行定义了a=1,所以这里返回判断应该为true。
扩展代码:
val1 = """>>>""&now"
MsgBox Eval(val1)
这里会返回这个时间值,如:>>>2012-07-04 : 17:25:25。 Eval在这个案例里,是计算了now这个函数表达式。
二、Execute函数:
执行一个或多个指定的语句。
这个函数很好理解,就是执行变量里的表达式。
例如:
val1 = "msgbox now"
Execute val1
这里就是执行一行msgbox now
例如:
val1 = "call funtest() : function funtest() : a=9 : msgbox a : end function"
Execute val1
这里就是执行多行代码call funtest() : function funtest() : a=9 : msgbox a : end function,返回a的值9
总结Eval 和 Execute的区别:
1、相同点是他们都会执行参数里的表达式。
2、不同点在于Eval是返回一个值,而Execute是用来执行一串代码。