0

我对执行这个任意 js 代码的唯一要求setInterval是不公开某些全局变量/函数(例如)。

我目前的策略包括解析 js 代码并var为每个全局引用进行声明(在封闭闭包的开头)。

我想知道是否还有其他明显的方法可以解决这个问题。

也只是为了澄清一下,这个任意代码并没有与eval. 相反,它被包装在一个闭包中并附加到基本代码中。

4

1 回答 1

1

一种选择是通过提供您自己的函数或变量来覆盖全局变量。例子:

window.alert = function() {
// 你的代码放在这里
// 如果需要,可以选择调用 window.alert
}

如果您想要隐藏的东西的有限列表很小,这应该是可以管理的。这将使它们在全球范围内不可用。

于 2012-12-19T01:31:47.790 回答