通过自调用函数模拟模块化,解决了全局变量污染问题。

例:b文件依赖a文件

a文件

(function(){
    var a = 1
    window.moduleA = {
        a
    }
})()

b文件

(function(moduleA){
    var b = 2
    console.log("导入的模块数据是:", moduleA);
    console.log("当前模块数据是" + b);
})(moduleA)

最后在html文档中需要导入这两个文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

</body>
<script src="a.js"></script>
<script src="b.js"></script>
</html>

结果: