您好,登錄后才能下訂單哦!
本篇內容主要講解“Eval、Execute、ExecuteGlobal的區別有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Eval、Execute、ExecuteGlobal的區別有哪些”吧!
語法:[result=]eval_r(expression_r)
expression_r為任意有效VBScript表達式的字符串
示例:
代碼如下:
response.Write(eval_r("3+2"))'輸出5
"3+2"使用引號括起來,表示是一個字符串,但是在Eval“眼里”,把它當作一個表達式3+2來執行。
Execute執行一個或多個指定的語句。多個語句間用冒號(:)隔開。
語法:Executestatements
示例:
Execute"response.Write(""abc"")"'輸出abc
"response.Write(""abc"")"使用引號括起來,表示是一個字符串
但是在Execute“眼里”,把它當作一個語句response.Write("abc")來執行。
ExecuteGlobal在全局名字空間中執行一個或多個指定的語句。
語法:ExecuteGlobalstatement
Eval、Execute、ExecuteGlobal三者區別有什么
示例:
代碼如下:
dimc
c="全局變量"
subS1()
dimc
c="局部變量"
Execute"response.Write(c)"'輸出局部變量
ExecuteGlobal"response.Write(c)"'輸出全局變量
endsub
Execute"response.Write(c)"'輸出全局變量
callS1()
變量c既在全局范圍內定義,也在函數范圍內定義,Execute按自己所處的位置來決定使用局部變量還是全局變量,而ExecuteGlobal則始終只認全局范圍的c。
總結:
Eval只執行一個語句語句可以有也可以沒有返回值
Execute執行一個或多個語句忽略語句的返回值
ExecuteGlobal執行一個或多個語句忽略語句的返回值全局變量和局部變量同名時總是使用全局變量
注意:
在VBScript中“賦值”與“比較”都是使用“=”,比如“a=b”既可以說是將b值賦予a,也可以說是判斷a與b是否相等,那么eval_r("a=b")是表示賦值還是比較運算呢?
這里有個約定,在Eval中,“a=b”總是表示比較運算,在Execute和ExecuteGlobal中,總是表示賦值。
到此,相信大家對“Eval、Execute、ExecuteGlobal的區別有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。