如何在C# 中解析並執行JS
提供的C# 程式碼包含一個類別ScriptEngine,它充當Windows 的包裝器腳本引擎的COM 組件。它支援 32 位元和 64 位元環境,並允許您解析和執行 JavaScript 程式碼。
程式碼範例提供了與腳本引擎互動的各種方式:
直接表達式求值:
Console.WriteLine(ScriptEngine.Eval("jscript", "1+2/3"));
這會計算給定的JavaScript表達式並列印結果(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)); }
這定義了一個JavaScript 函數,解析🎜>
這定義了一個JavaScript 函數,解析它,並使用參數3 呼叫函數,列印結果(6)。
函數使用命名項和可選參數進行呼叫: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; } }
此範例示範了命名項目的使用,它可以模擬/實作 HTML DOM 元素。它設定一個命名項“My”,並將屬性“Num”設為 4,並使用參數 3 呼叫該函數,列印結果 (10)。
using (ScriptEngine engine = new ScriptEngine("{16d51579-a30b-4c8b-a276-0ff4dc41e755}")) { // continue with chakra now }
以上是如何在 C# 中解析並執行 JavaScript 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!