引入:大团队下使用这种方式封装公用工具就会变成全局变量的灾难,一不小心就会有变量命名冲突的问题。
后面有人提出了采用的用自执行函数来包装代码或jQuery风格的匿名自执行函数来试图解决这个问题
//用自执行函数来包装代码
var Util = function(){
return {
formate : function(c){
//......
},
isEmpty: function(){
//......
}
}
}()
补充:JS外部文件 模拟命名空间的使用方式:
ES6前端模块化开发的好处:一个模块就是一个实现特定功能的文件,有了模块我们就可以更方便的使用别人的代码,要用什么功能就加载什么模块。
1.为了解决命名冲突问题 变量作用域问题 ES6导入和导出 前端模块化开发
2.提高代码复用率 一次导出 多处导入
3.提高维护性,模块化可以让每个文件的职责单一,非常有利于代码的维护
整体结构说明:
aaa.js 小明开发
var name="小明";
var flag=true;
function sum(a,b) {
console.log(a+b);
}
//1.导出所需的变量
export {
flag,sum};
//2.直接声明导出
export var name=