1. 基础知识

1.1 全局作用域及函数

1.1.1 全局作用域

在nodejs中,定义了一个global对象,代表nodejs中的全局命名空间,任何全局变量、函数或对象都是该对象的一个属性值

1.1.2 setTimeout函数与clearTimeout函数

setTimeout函数的使用方法如下:标示延迟ms时间调用 cb(args)

setTimeout(cb,ms,[args],[…])

clearTimeout函数使用方法如下:清除setTimeout函数返回的定时器

clearTimeout(arg);

例子:

var testFn = function(name){

console.log(name);

}

var timer = setTimeout(testFn,100,'chuck'); //100毫秒后执行testFn

clearTimeout(timer); //清除timer

1.1.3 setInterval函数与clearInterval

setTimeout函数的使用方法如下:标示延迟ms时间调用 cb(args)

setTimeout(cb,ms,[args],[…])

clearTimeout函数使用方法如下:清除setTimeout函数返回的定时器

clearTimeout(arg);

例子:

var testFn = function(name){

console.log(name);

}

var timer = setTimeout(testFn,100,'chuck'); //100毫秒后执行testFn

clearTimeout(timer); //清除timer

1.2 __filename变量与__dirname变量

l 可以使用__filename获取当前文件模块带有绝对路径的文件名

l 可以使用__dirname获取当前文件模块的目录的绝对路径

1.3 EventEmitter类

在nodejs用于实现各种事件处理的events模块中,定义了一个EventEmitter类,所有可能触发的对象都继承了EventEmitter类的子类的实例对象

表1‑1 EventEmitter类的各种方法

方法名与参数

描述

addListener(event,listener)

对指定事件绑定事件处理函数

on(event,listener)

对指定事件绑定事件处理函数(addListener的别名)

once(event,listener)

对指定事件指定只执行一次的函数

removeListener(event,listener)

对指定事件移除事件处理函数

removeListener([event])

对指定事件移除所有事件处理函数

setMaxListeners(n)

指定事件处理函数的最大值,n为整数值

listeners(event)

获取指定事件的所有事件处理函数

emit(event,[arg1],[arg2],[…])

手工触发指定事件

另外,可以EventEmitter自身拥有一个listenerCount函数来获取某个对象的指定事件的处理函数的个数

EventEmitter.listenerCount(emitter,event);

同时,events模块为EventEmitter定义了newListener和removeListener两个事件,用于监听事件的移除和绑定,第一个参数表示指定的时间,第二个参数表示被绑定的时间处理函数

emitter.on('newListener',function(event,callback){

})

emitter.on('removeListener',function(event,callback){

})

1.nodejs权威指南--基础知识的更多相关文章

  1. HTTP权威指南-基础知识

    1.URL,URI 统一资源标识符?统一标识定位符?   2.http,https,ftp http://<host>:<port>/<path>/?<que ...

  2. nodejs+gulp+webpack基础知识

    nodejs+gulp+webpack基础知识 2019年08月22日 11:49:40 天府云创 阅读数 22   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文 ...

  3. CSS权威指南 - 基础视觉格式化 3

    行内替换元素 替换元素比如图片的高度比line-height大,并不会影响整个文字段落的line-height,会让有图片那一行框的高度可以容纳这个图片. 这个图片依然有一个line-height,和 ...

  4. 9.nodejs权威指南--Socket.IO

    1. Socket.IO 1.1 服务器 var http = require('http'); var sio = require('socket.io'); var fs = require('f ...

  5. 8.nodejs权威指南--MongoDB

    1. MongoDB var mongo = require('mongodb'); var host = '127.0.0.1'; var port = mongo.Connecton.DEFAUL ...

  6. 7.nodejs权威指南--加密与压缩

    1. 加密与压缩 1.1 加密 var crypto = require('crypto'); var text = "12345678"; var hasher = crypto ...

  7. 6.nodejs权威指南--进程

    1. 进程 var net = require('net'); var cluster = require('cluster'); cluster.setupMaster({ exec:'child. ...

  8. 5.nodejs权威指南--HTTP

    1. HTTP 1.1 服务器 var http = require('http'); var server = http.createServer(function(req,rsp){ req.on ...

  9. 4.nodejs权威指南--TCP和UDP

    1. TCP和UDP 1.1 TCP服务端 var net = require('net'); var server = net.createServer(); server.on('connecti ...

随机推荐

  1. 代码重构 & 常用设计模式

    代码重构 重构目的 相同的代码最好只出现一次 主次方法 主方法 只包含实现完整逻辑的子方法 思维清楚,便于阅读 次方法 实现具体逻辑功能 测试通过后,后续几乎不用维护 重构的步骤 1  新建一个方法 ...

  2. QQ空间HD(2)-UIPopoverController其它使用

    DJTestViewController.m #import "DJTestViewController.h" #import "DJColorTableViewCont ...

  3. linq/EF/lambda 比较字符串日期时间大小

    在使用EF时,想要比较字符串类型的日期时,参考以下: SQL语句: 1 2 3 4 1)select * from TableName where StartTime > '2015-04-08 ...

  4. [译]Node.js : Building RESTful APIs using Loopback and MySQL

    国庆后可能就要使用StrongLoop那套东西来做项目了 原文:http://www.javabeat.net/loopback-mysql/ Loopback是什么? Loopback是一个开源的N ...

  5. AngularJS API之extend扩展对象

    angular.extend(dst,src),在我实验的1.2.16版本上是支持深拷贝的.但是最新的API显示,这个方法是不支持深拷贝的. 另外,第二个参数src支持多个对象. 第一种使用方式 va ...

  6. 黄学长模拟day1 某种密码

    关于某种密码有如下描述:某种密码的原文A是由N个数字组成,而密文B是一个长度为N的01数串,原文和密文的关联在于一个钥匙码KEY.若KEY=∑▒[Ai*Bi],则密文就是原文的一组合法密码. 现在有原 ...

  7. hdu.1010.Tempter of the Bone(dfs+奇偶剪枝)

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  8. 如何在网页端启动WinForm 程序

    在逛淘宝或者使用QQ相关的产品的时候,比如淘宝我要联系店家点击旺旺图标的时候能够自动启动阿里旺旺进行聊天.之前很奇怪为什么网页端能够自动启动客户端程序,最近在开发吉特仓储管理系统的时候也遇到一个类似的 ...

  9. Java中Runnable和Thread

    java中有两种实现多线程的方式:一种是继承Thread类,一种是实现Runnable接口. 1.java启动线程为什么使用start函数呢? 在JDK的安装路径下,src.zip是全部的java源程 ...

  10. BZOJ4612——[Wf2016]Forever Young

    1.题意:将一个数y转化成b进制数,使得他>=l,且<y,且转化后均为0~9,使b最大. 2.分析:我们发现要么答案的b很小,要么y很小..那我们直接暴力枚举就好了啊 然后判断一下...另 ...