AMD规范,全称是Asynchronous Module Definition,即异步模块加载机制.从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制.它推荐开发人员将 JavaScript 代码封装进一个个模块,对全局对象的依赖变成了对其他模块的依赖,无须再声明一大堆的全局变量.通过延迟和按需加载来解决各个模块的依赖关系.模块化的 JavaScript 代码好处很明显,各个功能组件的松耦合性可以极大的提升代码的复用性.可维护性.这种非阻塞式的并…
Javascript发展到今天,已经从一个小丑语言变成了不可替代的前端利器,已经脱离了低端的玩笑脚步,而转变为有规可依的强大语言. 本文主要讲述下如今被大力推广的AMD规范,为什么要AMD,什么场景是才是他的天地,我们该如何在自己的应用中使用该规范??? JS的发展史: JavaScript语言历史悠久,但在其前半生被重视程度一直偏低,前端技术一直也没有质的飞跃.除了已有的各大著名框架,比如Dojo,JQuery,ExtJs等等,当然很多公司也都有着自己的前端开发框架.这些框架的使用效率以及开发…
现在是西太平洋时间凌晨,这个问题我鼓捣了一天,都没时间学英语了,英语太差,相信第二天我也看不懂了,直接看结果就行. 核心原理就是require在AngularJs2编译过程中是关键字,而在浏览器里面运行时候AngularJs2不会去关心require方法.所以只要在原始的ts代码中不出现require就没问题.所以在AMD的加载器加载完毕之后,立即用一个全局变量保存,在AngularJs2的代码中使用这个全局变量在做加载器. Because require is a key word of An…
JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?     模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问 题进行系统性的分解以之处理.模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式.可以想象一个巨大的系统代码,被整合优 化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在.对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的系统,也可以将管理,开发,维护 变得“有理可循”…
转载:http://www.cnblogs.com/happyPawpaw/archive/2012/05/31/2528864.html#undefined 1. AMD的由来 前端技术虽然在不断发展之中,却一直没有质的飞跃.除了已有的各大著名框架,比如Dojo,JQuery,ExtJs等等,很多公司也都有着自己的前端开发框架.这些框架的使用效率以及开发质量在很大程度上都取决于开发者对其的熟悉程度,以及对JavaScript的熟悉程度,这也是为什么很多公司的技术带头人都喜欢开发一个自己的框架.…
前面的话 由CommonJS组织提出了许多新的JavaScript架构方案和标准,希望能为前端开发提供统一的指引.AMD规范就是其中比较著名一个,全称是Asynchronous Module Definition,即异步模块加载机制,完整描述了模块的定义,依赖关系,引用关系以及加载机制.而AMD规范的作者亲自实现了符合AMD规范的requireJS.本文将详细介绍AMD及requireJS AMD规范 AMD(Asynchronous Module Definition)翻译为异步模块定义.异步…
传统上,加载Javascript文件都是使用<script>标签. 就像下面这样: <script type="text/javascript" src="example.js"></script> <script>标签很方便,只要加入网页,浏览器就会读取并运行.但是,它存在一些严重的缺陷. (1)严格的读取顺序.由于浏览器按照<script>在网页中出现的顺序,读取Javascript文件,然后立即运行,…
最近,读了很多有关js模块化编程方面的文章,自己也有些小小的理解,不过,还是得借助别人的总结,在这个基础上谈一谈自己的理解吧!参考:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html1.网页js程序为什么要模块化?;之前做的一些网站,或者说网页,基本上是一html+css实现布局,内容展示为主.至于一些表单的验证逻辑,以及给页面实现一些特效(比如点击之后弹个窗出来,动画啊,等等)之类的,无非就是在对应的页面中写一些js脚本就…
一.快速排序法概念 我们将一个杂乱无章的数组进行一个快速排序,可以先从一个数组中取一个中间值,将一个数组一分为2,左边的数组跟中间值进行比较,小的放在左边,大的放在右边.比较完毕后再次取中间值,再次比较一次类推   二.思路   1.取的中间值,以及中间值的下标   2.创建一个left空数组,存放小于中间值的数据   3.创建一个right空数组,存放大于中间值的数据   4.递归的终止条件,如果数组的长度等于1的时候就返回数组   5.循环将数组一分为二   6.递归   三.代码 func…
1.冒泡排序循环的最大值从length递减每次循环只能排好最后一个,然后递减到第一个 function bubbleSort(){ var changedData = new Array(); var index = 0; console.log("冒泡调用"); for (var j = a.length; j >0 ; j--) { for (var i = 0; i < j; i++) { if(a[i]>a[i+1]){ var z = 0; z = a[i+…