作用域

es6里模块化的写法

会存在的问题,变量、方法名字雷同,外部文件调用的时候出现问题

如 a.js里

var a='susan'

b.js里

var a='jack'

问题解决方案,添加包裹

a.js

var a={ name:'susan' }

b.js

var a={ name:'jack' }

调用的时候可以使用console.log(a.name);

以上方法可以解决避免冲突,但是问题是其他文件会更改覆盖原数据的问题

如: b.name='aotoname'

再次使用b.name的值的时候,值就变了,多人开发的时候出现不必要的麻烦

怎么解决??

`var susanModule=(function(){

var name='susan',

var sex='女',

return{

tel:function(){

console.log(sex)

}

}

}

})()`

浏览器里susanModule.tel(); 以上方法模块的实现方法



更为标准的写法,直接放在立即执行函数上,模块化也是对作用域的封装,重用性更高,耦合性更低(解除耦合性)

通过接口的方式,把数据暴露出去,供大家使用,其他人也改变不了我的数据

例如网站上的搜索功能,只写一个搜索功能,其他需要的位置,直接调用我的搜索功能就行,前端工作量减少,而且维护成本降低

js的作用域和闭包的升级,演变到模块化方案

经过了AMD ,commonJS,![]

**AMD **



commonJS,



es6 Module

(https://img2020.cnblogs.com/blog/429510/202101/429510-20210119105149247-39884712.png)

webpack

  1. 安装node

    node -v

    npm -v

    命令查看版本

    2.新建文件夹,初始化项目

    npm init

3。运行项目

npm run test



看这里

4.镜像包

npm config set registry https://registry.npm.taobao.org

npm install loadash --sava (-s 报错版本号在package.json里)

npm install --only=prod (指定生成环境)

npm install --only=dev (指定开发环境)

5.版本号

最新文章

  1. centos6.5 安装mysql 的过程
  2. c/c++:动态库 静态库 linux/windows 例子 (转)
  3. js中的包装对象。
  4. form表单无刷新提交文件(iframe)
  5. vc++编程之在程序中加入网址链接
  6. X - A == B ?(第二季水)
  7. 使用JDBC连接操作数据库
  8. CVE-2017-1000405 利用脏牛漏洞Linux提权复现
  9. React Fiber 数据结构揭秘
  10. IDEA 201809 Jrebel安装破解
  11. Linux下导入CA证书
  12. delphi fastreport 动态加载图片
  13. virt-viewer 连kvm 虚机
  14. mysql 案例~ 分区表
  15. SQL Server 索引知识-概念
  16. 穷人的语义处理工具箱之中的一个:语义版Jaccard
  17. 3680: 吊打XXX
  18. Admin站点
  19. YPBPR_PC下图像有毛刺或者水纹干扰的处理办法
  20. 模式识别之分类器knn---c语言实现带训练数据---反余弦匹配

热门文章

  1. 使用OpenSSL自建一个HTTPS服务
  2. Java 设计模式 —— 组合模式
  3. Eclipse设置自动提示
  4. C++线程详细说明
  5. 如何正确运用break、continue和return
  6. JAVA基础--cmd命令
  7. Maven史上最全的pom.xml详解
  8. [C#] (原创)一步一步教你自定义控件——05,Label(原生控件)
  9. CentOs8安装redis与Linux安装GDI+图形
  10. [MVC] - Asynchronous操作