如何检查Javascript全局对象是否已被篡改?

时间:2014-08-16 01:24:21

标签: javascript node.js

我刚刚有这个非常愚蠢的错误,因为我在某个地方忘记了var关键字而花费了20米。我想通了,但它只是让我思考......

"是否有一种简单的方法可以查看是否有任何属性被添加到全局对象中?"

编辑:对不起,忘了在Node.js中提到上下文。

1 个答案:

答案 0 :(得分:2)

ES5的strict mode阻止了这一点!只需在任何函数或源文件的顶部放置'use strict'语句:

'use strict';

function foo() {
    var x = 5   // Forgot the comma!
        y = 6;  // Fails in strict mode as an implicit global
}

foo();

Linters也应检查这一点,理想情况下你应该使用linter 严格模式。我推荐JSHint