0

我正在使用https://github.com/gf3/sandbox#readme但我不知道如何通过此沙箱将一些数据从我的代码传递到 javascript 代码。例如

var s = new sandBox();
s.run("(function(name) { return 'Hi there, ' + name + '!'; })('Fabio')", function(output) {
    console.log("Example 2: " + output.result + "\n")
})

现在我想将一些数据传递给这个函数我该怎么做?

4

1 回答 1

1

它没有任何干净的方式来传递参数。但是,由于您将代码作为字符串传递,您可以简单地将参数直接添加到字符串中:

var arg = 'Hello';
var code = "(function(name) { return 'Hi there, ' + name + '!'; })("+ JSON.stringify(arg) +")"
s.run(code, ...);

JSON.stringify用来确保字符串是有效的 JS 表达式。

于 2012-06-14T12:40:12.347 回答