JavaScript:如何消除此错误?

Hea*_*erK 4 javascript jslint

我正在尝试使我的代码JavaScript"严格",所以我通过JSLint运行它以确保我的代码是兼容的.

但是,在以下代码中:

setTimeout("getExtJs()", 2000);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

setTimeout("getExtJs()", 2000);
Run Code Online (Sandbox Code Playgroud)

如何使我的代码JavaScript"严格"?

Ada*_*dam 14

setTimeout(getExtJs, 2000);
Run Code Online (Sandbox Code Playgroud)

请注意,getExtJs周围没有引号,我传递的函数不是String.

编辑: 正如评论中所指出的,JSLint令人不安的原因是当第一个参数是一个String时,它被处理为代码,以与eval()相同的方式执行

请参阅https://developer.mozilla.org/en/window.setTimeout

要找出为什么eval()(以及使用Strings作为第一个参数的扩展)是邪恶的,请参阅Mozilla Developer Network条目eval.