background preloader

Javascript

Facebook Twitter

Javascript异步编程的4种方法. 你可能知道,Javascript语言的执行环境是"单线程"(single thread)。

Javascript异步编程的4种方法

所谓"单线程",就是指一次只能完成一件任务。 Dojo tutorial document. Dojo Version: Getting Started Dojo Start How do I start learning Dojo?

Dojo tutorial document

Where are the docs? How do I get support and training? View Tutorial Hello Dojo! Welcome to Dojo! View Tutorial Modern Dojo You may have been away from Dojo for a while, or you have been struggling to keep your older Dojo 1.6 applications working under 1.8 and you find yourself not sure of what is going on. View Tutorial Configuring Dojo with dojoConfig The dojoConfig object (formerly djConfig) allows you to set options and default behavior for various aspects of the toolkit. View Tutorial Fundamentals Classy JavaScript with dojo/_base/declare The dojo/_base/declare module is the foundation of class creation within the Dojo Toolkit. declare allows for multiple inheritance to allow developers to create flexible code and avoid writing the same code routines. View Tutorial Creating Template-based Widgets View Tutorial Using dojo/query View Tutorial NodeList Extensions View Tutorial Making Functions with hitch and partial.

不懂大师. Javascript模块化编程(一):模块的写法. 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂。

Javascript模块化编程(一):模块的写法

网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等......开发者不得不使用软件工程的方法,管理网页的业务逻辑。 Javascript模块化编程,已经成为一个迫切的需求。 理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。 但是,Javascript不是一种模块化编程语言,它不支持"类"(class),更遑论"模块"(module)了。 (正在制定中的ECMAScript标准第六版,将正式支持"类"和"模块",但还需要很长时间才能投入实用。) Javascript社区做了很多努力,在现有的运行环境中,实现"模块"的效果。 一、原始写法 模块就是实现特定功能的一组方法。 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块。 Function m1(){ //... } function m2(){ //... } 上面的函数m1()和m2(),组成一个模块。

这种做法的缺点很明显:"污染"了全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间看不出直接关系。 二、对象写法 为了解决上面的缺点,可以把模块写成一个对象,所有的模块成员都放到这个对象里面。 上面的函数m1()和m2(),都封装在module1对象里。 Module1.m1(); 但是,这样的写法会暴露所有模块成员,内部状态可以被外部改写。 Module1. 三、立即执行函数写法 使用"立即执行函数"(Immediately-Invoked Function Expression,IIFE),可以达到不暴露私有成员的目的。 使用上面的写法,外部代码无法读取内部的_count变量。 Console.info(module1. module1就是Javascript模块的基本写法。 四、放大模式 如果一个模块很大,必须分成几个部分,或者一个模块需要继承另一个模块,这时就有必要采用"放大模式"(augmentation)。 Var module1 = (function (mod){ mod.m3 = function () { //... }; return mod; })(module1); 上面的代码为module1模块添加了一个新方法m3(),然后返回新的module1模块。 (完) Javascript模块化编程(三):require.js的用法. 这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战。

Javascript模块化编程(三):require.js的用法

我采用的是一个非常流行的库require.js。 一、为什么要用require.js?