var sharedJSLibrary = "bla";
var specificDownstreamScript = "bla2";
scriptEngine.Execute(sharedJSLibrary);
scriptEngine.Execute(specificDownstreamScript);
clearScript 引擎是否保留代码以供后续执行调用使用?如果没有,是否有另一种机制可以用来建立基础库,而不必将其合并到特定的下游脚本中?
例如,MSScriptControl 系统有一个 AddCode 方法,您可以多次调用该方法来插入多个单独的脚本。
clearScript 引擎是否保留代码以供后续执行调用使用?
是的。每个引擎管理一个脚本执行环境,如果脚本以任何方式更改该环境(例如,通过设置新的全局函数、向对象添加属性等),这些更改将在调用之间保留。
示例:
const string plusLib = "function plus(x, y) { return x + y; }";
const string minusLib = "function minus(x, y) { return x - y; }";
engine.Execute(plusLib);
engine.Execute(minusLib);
Console.WriteLine(engine.Evaluate("plus(1, minus(2, 3))")); // output: "0"