js模块化进化史
来源:互联网 发布:淘宝学习zz px 编辑:程序博客网 时间:2024/05/27 00:50
- 全局function模式
/** * 全局函数模式: 将不同的功能封装成不同的全局函数 * 问题: Global被污染了, 很容易引起命名冲突 */let data = "hello world";function foo() { console.log('foo() '+data);}function bar() { console.log('bar() '+data);}
2. namespace模式
/** * namespace模式: 简单对象封装 * 作用: 减少了全局变量 * 问题: 不安全(数据不是私有的, 外部可以直接修改) */let obj ={ msg : 'hello', foo:()=>{ console.log(msg); }}
3.IIFE模式
/** * IIFE模式: 匿名函数自调用(闭包) * IIFE : immediately-invoked function expression(立即调用函数表达式) * 作用: 数据是私有的, 外部只能通过暴露的方法操作 * 问题: 如果当前这个模块依赖另一个模块怎么办? *///IIFE模式(function (window) { let msg = 'hello world'; let foo = function () { console.log('IIFE--->'+msg); }; window.foo = foo;})(window)
IIFE模式增强 : 引入依赖
这就是现代模块实现的基石
阅读全文
0 0
- js模块化进化史
- js进化史
- JS 模块化
- 模块化js
- js模块化
- js模块化
- js模块化
- JS模块化
- js模块化
- js 模块化
- js模块化
- JS模块化
- JS模块化
- js模块化
- js模块化的使用
- Js 模块化编程
- JS模块化编程
- JS如何做到模块化
- ES6-Babel和Browserify使用教程
- 正则
- java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonFactory
- ajax
- HTML笔记(HTML元素--框架以及内联框架)
- js模块化进化史
- Redis中PipeLine使用(11)
- 2017-07-03(树形DP)
- 软考,网络工程师教程(第四版)2017最新视频教程
- blur --后台点击更改表格;
- 微信小程序审核没有通过的原因
- CommonJS_Node模块化教程
- ViewPager 详解(一)---基本入门
- CommonJS-Browserify模块化教程