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是用來執行一串代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章