如何在C# 中解析並執行JavaScript
在此程式碼範例中,我們包裝Windows 腳本引擎以支援32 位元和64 位元-位環境。
對於您的特定情況,這意味著根據.JS 程式碼,您可能有模擬/實作一些HTML DOM 元素,例如「文件」、「視窗」等(使用「命名項目」功能和MyItem 類。
這裡是一些您可以用它做什麼的範例:
1)直接表達式評估:
Console.WriteLine(ScriptEngine.Eval("jscript", "1+2/3"));
將顯示1.66666666666667
using (ScriptEngine engine = new ScriptEngine("jscript")) { ParsedScript parsed = engine.Parse("function MyFunc(x){return 1+2+x}"); Console.WriteLine(parsed.CallMethod("MyFunc", 3)); }
using (ScriptEngine engine = new ScriptEngine("jscript")) { ParsedScript parsed = engine.Parse("function MyFunc(x){return 1+2+x+My.Num}"); MyItem item = new MyItem(); item.Num = 4; engine.SetNamedItem("My", item); Console.WriteLine(parsed.CallMethod("MyFunc", 3)); } [ComVisible(true)] // Script engines are COM components. public class MyItem { public int Num { get; set; } }
using (ScriptEngine engine = new ScriptEngine("{16d51579-a30b-4c8b-a276-0ff4dc41e755}")) { // continue with chakra now }
將顯示6
3) 帶有命名項的函數調用,以及可選參數:
將顯示10.
為所需的腳本語言建立ScriptEngine 物件。
以上是如何在 C# 應用程式中解析和執行 JavaScript 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!