(function(global, config) { // 这里只负责初始化 global.config = config; })(this, { // 这里直接写各种 config "api": "...", "uploader": "...", ... }); 第一种写法没什么不好的,但为何不直接 window.config = {}? 如果一定要用 IIFE,那不如把定义和初始化分开来做,就像我上面那样。好处其实有很多,我最看重的主要是代码职责的分离,另外如果有模块化系统辅助,config 定义的部分可以单独 export/import 然而话说回来,就这样一些配置的话真不需要费心太多,遇到问题再优化——除非你有经验。
第一种写法没什么不好的,但为何不直接
window.config = {}
?如果一定要用 IIFE,那不如把定义和初始化分开来做,就像我上面那样。好处其实有很多,我最看重的主要是代码职责的分离,另外如果有模块化系统辅助,
config
定义的部分可以单独 export/import然而话说回来,就这样一些配置的话真不需要费心太多,遇到问题再优化——除非你有经验。