我希望在函数中禁用全局变量。
我想要像Adobe After Effect一样进行扩展。
示例代码:
function privateFunction(){
return window;
}
通常情况下:
result : Window Object
但我希望能够达成以下目标:
result : undefined
我应该怎么做?
请帮助我。
我想在函数中阻止全局变量访问;
我希望在函数中禁用全局变量。
我想要像Adobe After Effect一样进行扩展。
示例代码:
function privateFunction(){
return window;
}
通常情况下:
result : Window Object
result : undefined
我应该怎么做?
请帮助我。
我想在函数中阻止全局变量访问;
通过本地变量遮蔽全局变量:
function privateFunction() {
var window;
return window; // not the Window, but undefined now
}
function p() { var window = null; fnord = 7; }
仍会将7分配给全局的window.fnord
。 - David Givenvm.runInThisContext
确实使用了一些较低级别的实现特定API。也许ES7将包括创建新领域的方法。 - Bergi你需要将所有内容封装在一个闭包中:
(function() {
var window = 'foo';
function privateFunction(){
return window;
}
console.log(privateFunction());
})();