分类目录归档:JavaScript

nodejs npm 加速

国内使用npm安装nodejs 组件会无比的卡顿,经常会失败。还好万能的taobao给我们提供了一个国内能快速访问的镜像。http://npm.taobao.org/

同步组件比较全。速度有保障,再也不用死卡死卡了。

使用方法:

1,使用cnpm组件安装组件

npm install -g cnpm --registry=https://registry.npm.taobao.org

2,修改npm源获取地址

最方便的就是使用第一个方法。

JavaScript 秘籍系列(1)异步

经过一年多的参悟,哥明白了一些JavaScript的秘密。这里分享下,JavaScript是一个披着c语言皮的lisp语言,和ruby一样灵活。他有很多诡秘的特性,这里先介绍的就是他的异步特性。

异步,JavaScript是一个事件驱动的语言。怎么理解呢,他是一个事件队列,在不停的等待触发。有事件来了,相应的代码就会执行。这点很不像c语言和php这类过程式语言和Java、c++这类面向对象的语言。

首先说一个示例。

var a = 123;

(function() {
a = 124;
})();

alert(a);

这段代码会怎么执行呢?第一行代码会赋值123给a ,接着 匿名函数会直接赋值124给a,然后输出 a的值124;

如果使用异步的调用就不会是这样了

function bark (callback) {
 
 
 setTimeout(function(){
 a++;
 callback("aa"+ a);
 },0);
}

var cb = function(msg) { console.log(msg);}

var a = 123;
bark(cb);
a ++;
var mg = 'bb'+ a;
cb(mg);

这段代码就会异步执行,先输出bb开头的,然后输出aa开头的代码。这种操作一般都是用来将一些事件先执行了,耗时的事情稍后让他自己慢慢执行。

异步的方式还有很多:

1,事件驱动,on事件,omit触发事件。

2,就是setTimeout和setInterval驱动的异步执行策略。

剩下的就是在这两个基础上组合实现的设计模式的实现了。