gpt4 book ai didi

javascript - 如何从 Jint 的全局范围获取所有变量(和函数名称)?

转载 作者:行者123 更新时间:2023-11-30 00:33:14 25 4
gpt4 key购买 nike

我正在使用 Jint,我想知道是否有一种方法可以从 C# 的 Angular 来看在脚本的全局范围内获取所有已定义的变量和函数。

例如,给定文件“test.js”中的以下 Javascript 代码:

function globalFunc(a, b) {
var localVar = a + b;
return localVar;
}

var globalVar = 5;

...并给出以下 C# 代码(使用 Jint 2.4.0):

Jint.Engine engine = new Jint.Engine();
engine.Execute(System.IO.File.ReadAllText("test.js");

// the following method call do not exist in Jint, just here for example...
JsValue[] variables = engine.GetGlobalScopeVariables();

然后期望 variables 包含两个值,即一个名为“globalFunc”的“Function”类型的变量和一个名为“globalVar”的“Number”类型的变量。

预期的答案可能会导致一些 Jint 黑客攻击。我也对此持开放态度。

谢谢!

最佳答案

变量和函数可在 engine.Global.Properties 中访问。然而,它也包含“系统变量”。

通过将执行脚本后的字典条目与执行脚本之前的条目进行比较,您可以获得有关添加了哪些变量和函数的信息。

关于javascript - 如何从 Jint 的全局范围获取所有变量(和函数名称)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28367663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com