讓我們考慮,我想重寫require()
功能的情況下,但我想,以避免進一步的重新定義在某個時候。考慮以下情形:避免重新定義要求()
// I redefine require here
var _require = require;
require = function(){
// some code to redefine original require
}
// After this redefinition shouldn't happen
我知道這是可能的「凍結」使用對象的功能Object.freeze(obj)
因此我不能發言後修改的對象。但是我找不到相當於Object.freeze()
的全球/本地功能,例如require
。
您在原則上可以嘗試凍結全局命名空間 - 'Object.freeze(窗口)在瀏覽器中'。但我不確定它是否會以這種方式工作。窗口名稱空間對象是一種特殊的。 –