eval 方法 (JScript)
更新:2007 年 11 月
評估並執行 JScript 程式碼。
function eval(codeString : String [, override : String])
引數
codeString
必要項。包含有效之 JScript 程式碼的字串。override
選擇項。這個字串會決定要套用至 codeString 程式碼的安全性權限。
備註
eval 函式允許動態執行 JScript 原始程式碼。
傳遞至 eval 方法的程式碼會在呼叫 eval 方法的同時,於同一內容中執行。注意,封入程式看不見在 eval 陳述式中所定義的新變數或類別。
傳遞至 eval 方法的程式碼,是在受限制的安全性內容下執行,除非第二個傳遞的字串是 "unsafe"。受限制的安全性內容可以防止存取任何系統資源,例如檔案系統、網路或使用者介面。如果程式碼嘗試存取這些資源,便會產生安全性例外狀況。
如果 eval 的第二個參數是 "unsafe" 字串,則傳遞至 eval 方法的程式碼會在與呼叫程式碼相同的安全性內容中執行。第二個參數是會區分大小寫,所以 "Unsafe" 或 "UnSAfE" 等字串將不會覆寫受限的安全性內容。
安全性注意事項: |
---|
只有執行從可信任來源取得的程式碼字串時,才在不安全 (Unsafe) 模式下使用 eval。 |
範例
例如,下列程式碼會依據 doTest 變數值,將變數 mydate 初始設定成測試日期或目前日期:
var doTest : boolean = true;
var dateFn : String;
if(doTest)
dateFn = "Date(1971,3,8)";
else
dateFn = "Date()";
var mydate : Date;
eval("mydate = new "+dateFn+";");
print(mydate);
本程式的輸出為:
Thu Apr 8 00:00:00 PDT 1971