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. 【8-23】node.js学习笔记

    Node入门 //请求(require)Node.js自带的 http 模块,并且把它赋值给 http 变量 //变成了一个拥有所有 http 模块所提供的公共方法的对象 var http = req ...

  2. [慢查优化]联表查询注意谁是驱动表 & 你搞不清楚谁join谁更好时请放手让mysql自行判定

    写在前面的话: 不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程: 不要求每个人一定知道线上(现在或未来)哪张表数据量大,哪张表数据量小: ...

  3. -bash: sudo: command not found Error and Solution

    文章转自: http://www.cyberciti.biz/faq/debian-ubuntu-rhel-centos-linux-bash-sudo-command-not-found/ 安装su ...

  4. zepto-selector.js简单分析

    zepto 的selector模块是对jquery扩充选择器(jquery-selector-extensions)的部分实现.比如这样的选择方法:$('div:first') 和 el.is(':v ...

  5. 几个主流java连接池

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  6. PHP array_multisort() 函数详解 及 二维数组排序(模拟数据表记录按字段排序)

    一.先看最简单的情况. 有两个数组: $arr1 = array(1, 9, 5); $arr2 = array(6, 2, 4); array_multisort($arr1, $arr2); pr ...

  7. php 调用系统命令

    system 与 exec 两者区别与联系:都会返回最后一行,命令执行成功的return返回值, 区别:system直接将输出内容echo出来,而exec将每一行输出内容保存到数组$output里. ...

  8. 关于CSS的优先级,CSS优先级计算

    原则一: 继承不如指定原则二: #id > .class > 标签选择符原则三:越具体越强大原则四:标签#id >#id ; 标签.class > .class CSS优先级权 ...

  9. 回复《我要阻止做java开发的男朋友去创业型公司工作吗?》园友问题

    真的非常开心能收到这么多园友的关心,看到这么多的回复顿感身边处处充满爱.也非常感谢大家踊跃的帮我出谋划策,小女子在此有礼了! 我先来回答一下性别的问题(前面已经暴露了……),我是前端程序媛.大三时和男 ...

  10. PYTHON 自动化学习之路

    一.用户交互小程序 username = 'gyc' password = 'gyc' u = input("what is you name?:") p = input(&quo ...