javascript之模块

node的风靡,模块化思想变得格外重要。

基本思想:

  1.匿名函数

  2.带参的匿名函数

  3.放大的模块(使用2的方法 对模块进一步扩展 这样模块就可以分开在文件中)

  4.宽放大模式  (module || {})

  5.严放大模式 (var old_moduleMethod = my.moduleMethod ; my.moduleMethod = function() {}) 这种方式下可以保留以前版本方法的访问方法  bootstrap的插件就有这种写法

推荐写的不错的博客

1.阮一峰老师的博客 :http://www.ruanyifeng.com/blog/2012/10/javascript_module.html

          参考了 ben cherry 的 一篇文章 :http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html   2010的作品!写的太好了!

2.模块多了,自然要有规范,所以出现了两个主要规范 ,AMD(浏览器异步加载) 和   CommonJS(服务器模块加载)

CommonJS : require(‘module‘)

AMD: require([‘module‘...],function(){})

时间: 2024-10-13 09:41:57

javascript之模块的相关文章

seajs实现JavaScript 的 模块开发及按模块加载

seajs实现了JavaScript 的 模块开发及按模块加载.用来解决繁琐的js命名冲突,文件依赖等问题,其主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载. 官方文档:http://seajs.org/docs/#docs 首先看看seajs是怎么进行模块开发的.使用seajs基本上只有一个函数"define" fn.define = function(id, deps, factory) { //code of function- } 使用define函数来进行定

开坑!JavaScript AMD模块的设计与实现

开个坑,慢慢学习总结JavaScript的AMD规范 先把自己写的一个简易实现放上来,然后慢慢从0开始讲解一下AMD,已经如何自己动手实现一个AMD /*AMD*/ var DOC = window.document; var head = DOC.head || DOC.getElementsByTagName('head')[0]; var basePath = getCurrentScript(DOC); basePath = basePath.substring(0, basePath.

JavaScript中模块“写法”

在JavaScript模块到底是什么 event = function() { // do more return { bind: function() {}, unbind: function() {}, trigger: function() {} }; }();这能代表"模块"吗?这就是一个JS对象啊,以为有多么深奥. 是的,JavaScript中模块多数时候被实现为一个对象.这么看来,多数时候我们都写过"模块"(但没有在整个项目中应用模块化思想).或许每个人

javascript构造函数模块

var Person = (function(){ var Constr; Constr = function(){ this.name = 'carl'; } Constr.prototype = { constructor : Constr, getName : function(){ return this.name; } } return Constr; }()) var obj = new Person(); console.log(obj.getName());  //输出:carl

JavaScript常用模块

JavaScript常用模块 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.序列化与反序列化 JSON.stringify(obj)   序列化 JSON.parse(str)        反序列化 二.转义 三.eval

JavaScript AMD 模块加载器原理与实现

关于前端模块化,玉伯在其博文 前端模块化开发的价值 中有论述,有兴趣的同学可以去阅读一下. 1. 模块加载器 模块加载器目前比较流行的有 Requirejs 和 Seajs.前者遵循 AMD规范,后者遵循 CMD规范.前者的规范产出比较适合于浏览器异步环境的习惯,后者的规范产出对于写过 nodejs 的同学来说是比较爽的.关于两者的比较,有兴趣的同学请参看玉伯在知乎的回答 AMD和CMD的区别有哪些.本文希望能按照 AMD 规范来简单实现自己的一个模块加载器,以此来搞清楚模块加载器的工作原理.

javascript 异步模块加载 简易实现

在javascript是没有类似java或其他语言的模块概念的,因此也不可能通过import或using等关键字来引用模块,这样造成了复杂项目中前端代码混乱,变量互相影响等. 因此在复杂项目中引入AMD的概念,AMD:全称是Asynchronous Module Definition,即异步模块加载机制.通过AMD可以不需要在页面中手动添加<script>来引用脚本,而通过定义依赖自动加载模块脚本,接下来的代码将讲解如何实现建议的AMD模块,如果需要查看比较详细的实现可以下载requirejs

javascript 通过模块模式实现代码访问控制

<script type="text/javascript"> // 在匿名函数中使用var关键字 (function(){ var privateField = 42; function innerFunc(){ notSoPrivate =43; return notSoPrivate; } alert(privateField); // 42 privateField = innerFunc(); // alert(notSoPrivate); // 43 })();

javascript的模块开发方法;

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> //模块开发模式; // var someModule = (function(){ // //TODO // }()); // 第一种返回