【发布时间】:2021-01-27 09:06:09
【问题描述】:
我正在尝试通过jint 将对象传递给javascript 函数并返回一个值。但这似乎不起作用。这是我迄今为止尝试过的 -
错误 -
Jint.Runtime.JavaScriptException: 'obj is undefined'
使用以下代码-
var carObj = JsonSerializer.Serialize(car);
var engine = new Jint.Engine();
engine.SetValue("obj", carObj);
var value = engine
.Execute("const result = (function car(obj) { const type = obj.Type; return type;})()")
.GetValue("result");
【问题讨论】:
-
我不熟悉 jint,但我猜测
function car(obj)创建了一个本地obj来隐藏您的“全局”obj。而那个本地的obj确实是未定义的。我会尝试的第一件事就是做function car() { ... // same code from here。 -
@Fildor 我尝试了一个没有任何参数的简单函数,它似乎可以工作 -
function car() { const myTemplate = 3 + 5;只有我需要知道传递一个对象 -
你试过我的建议了吗?我相信
obj应该在脚本中全局可用。 -
我试过了,没有错误,结果是
undefined。 -
好的,那么我的假设似乎不正确,对不起。