Eval 在wscript下的全局范围内求值

Eval 在wscript下的全局范围内求值,eval,jscript,wsh,msscriptcontrol,Eval,Jscript,Wsh,Msscriptcontrol,有没有办法在函数调用中完全模拟全局eval()调用?我尝试了各种方法,但找不到适用于wscript的解决方案: var Global = this; function globalEval(code) { (1, eval).call(Global, code); } globalEval('var foo = "bar"'); WScript.echo(foo); // undefined 我尝试过的其他方法: eval.call(Global, code); Global.eval

有没有办法在函数调用中完全模拟全局
eval()
调用?我尝试了各种方法,但找不到适用于wscript的解决方案:

var Global = this;
function globalEval(code) {
    (1, eval).call(Global, code);
}
globalEval('var foo = "bar"');
WScript.echo(foo); // undefined
我尝试过的其他方法:

eval.call(Global, code);
Global.eval.call(Global, code);
new Function(code);
(1, eval)(code)

由于指定的问题是关于与wscript相反的浏览器环境,因此建议的复制似乎不存在;此外,没有给出有效的答案。@Lankymart:您说可以使用
eval
来完成,但显然它对OP不起作用。当然,
eval
在全局范围内执行时起作用,但这不是我们这里的内容。我们需要间接评估。JScript有这样的功能吗?@Bergi同意,但这可能会有所帮助-@Hacketo:
(1,eval)
,所有带有
.call的东西都是间接调用,这很好,应该可以工作(至少在JavaScript中)@Lankymart:谢谢,这篇文章是一个很好的发现。您引用的声明确实表明没有办法做到这一点。建议的复制似乎不存在,因为指定的问题是关于与wscript相反的浏览器环境;此外,没有给出有效的答案。@Lankymart:您说可以使用
eval
来完成,但显然它对OP不起作用。当然,
eval
在全局范围内执行时起作用,但这不是我们这里的内容。我们需要间接评估。JScript有这样的功能吗?@Bergi同意,但这可能会有所帮助-@Hacketo:
(1,eval)
,所有带有
.call的东西都是间接调用,这很好,应该可以工作(至少在JavaScript中)@Lankymart:谢谢,这篇文章是一个很好的发现。你引用的声明确实表明没有办法做到这一点。