2015-12-15 91 views
0

我已经到了一种情况,我需要重命名窗口变量,因为其他一些库无法重命名。重命名窗口变量

现在,该全局实例正在整个应用程序中广泛使用,如成千上万个地方。重命名是一个选项,但不够可信,检查所有实例对它本身是一种痛苦。有没有简单的方法来做到这一点?

避免任何错误的最佳方法是什么?

某些类被封装在define块中,并且使用IIFE将不可能和它们一起使用。

回答

1

您可能会将全局实例包装在IIFE中,以便全局实例不再是全局实例。

只需像

(function() { 
    //Your code here 
}()); 

就足够了

+0

现在,我不会更喜欢。这是在不同的文件中使用的,这样做会很困难,在requirejs之上用这个包装每个可能的类。有些课程确实有requirejs,有些则不需要。对于非需求,这将像魅力一样工作 – gauravmuk

+0

如果您使用的是requirejs,为什么您需要窗口变量?您可以定义一个模块,然后在另一个模块中需要它们。 http://requirejs.org/docs/api.html#defsimple – aliasm2k

+0

这是我必须忍受的一些遗留代码,它是这样的,我不能在一段时间内改变它的每一件坏事 – gauravmuk