Node.js API —— Global Objects(全局对象)

// 说明

Node API 版本为 v0.10.31。
    中文参考:http://blog.sina.com.cn/oleoneoy

本段为博主注解。

目录

● 全局对象
    ○ global
    ○ process
    ○ console
    ○ Class: Buffer
    ○ require()
        ■ require.resolve() 
        ■ require.cache
        ■ require.extensions
    ○ __filename
    ○ __dirname
    ○ module
    ○ exports
    ○ setTimeout(cb, ms)
    ○ clearTimeout(t)
    ○ setInterval(cb, ms)
    ○ clearInterval(t)

全局对象

这些对象都是在所有模块中可用的。其中一些并不真正地在全局作用域中,只是在模块作用域中——这是值得注意的。

global

● {对象类型} 全局命名空间对象

在浏览器中,顶层作用域就是 global 作用域。这意味着在浏览器当中如果你在全局作用域使用 var something 将会定义一个全局变量。在 Node 中与之不同。顶层作用域不是全局作用域;在 Node 模块中 var something 将会成为那个模块的局部变量。

process

● {对象类型}
    进程对象。参看进程对象小节。

console

● {对象类型}
    用来向标准输出和标准错误输出打印。参看控制台小节。

Class: Buffer

● {函数类型}
    用来处理二进制数据。参看缓冲区小节 。

require()

● {函数类型} 
    用来引用模块。参看模块小节。require 不是真正的全局变量而是每个模块都有的局部变量。

require.resolve()

使用内部的 require() 构件查找模块的位置 ,而不是加载模块。只是返回绝对路径文件名。

require.cache

● {对象类型} 
    当模块被引入之后,它们被缓存到这个对象里面。通过从这个对象删除一个键值对,下一次 require 将重新加载模块。

require.extensions

稳定性:0 - 反对

● {对象类型} 
    指引 require 怎样处理某些特定的文件扩展名。

1 require.extensions[‘.sjs‘] = require.extensions[‘.js‘];

反对 过去,这一条目用于在 Node 中即时加载非 JavaScript 模块。然而,实践当中,有很多更好的办法来做这样的事情,比如通过一些其他程序加载模块,或提前将它们编译成 JavaScript。
     因为模块系统已被锁定,这一特性很可能永远不会移除。然而,它有一些微妙的 bug 和复杂性,最好将它放到一边不要触碰。

__filename

● {字符串类型} 
    正在被执行的代码所在的文件名。这是该代码所在文件的绝对路径。对主程序来说这是没必要的,它与在命令行中的文件名相同。可该值在模块当中是该模块文件的绝对路径。
    例子:在目录 /User/mjr 中运行 node example.js

1 console.log(__filename);
2 // /User/mjr/example.js

__filename 不是真正的全局变量而是每个模块都有的局部变量。

__dirname

● {字符串类型} 
    当前正在被执行的脚本所在的目录名。
    例子:在目录 /User/mjr 中运行 node example.js

1 console.log(__dirname);
2 // /User/mjr

__dirname 不是真正的全局变量而是每个模块都有的局部变量。

module

● {对象类型} 
    一个指向当前模块的引用。特别地, module.exports 用来定义模块导出什么并通过 require() 可用。
    module 不是真正的全局变量而是每个模块都有的局部变量。
    更多信息参看模块系统文档。

exports

一个指向 module.exports 的引用 ,更短更方便打字输入。关于什么时候使用 exports 什么时候使用 module.exports 的细节参看模块系统文档。
    exports 不是真正的全局变量而是每个模块都有的局部变量。 
    更多信息参看模块系统文档。 
    更多信息参看模块小节。

setTimeout(cb, ms)

在至少 ms 毫秒后执行回调函数 cb。实际的延迟取决于外部的因素,例如操作系统时钟间隔和系统负荷。
    延时必须在1-2,147,483,647范围内,包括此两个值在内。如果值超出了这个范围,它将被转换成1毫秒。宽泛地说,一个定时器不能跨越超过24.8天。
    返回一个代表该定时器的不透明的值。

clearTimeout(t)

停止一个之前用 setTimeout() 创建的定时器。定时器的回调函数将不再被执行。

setInterval(cb, ms)

每隔 ms 毫秒重复地执行回调函数 cb。注意实际的间隔可能会变化,取决于外部的因素,例如操作系统时钟间隔和系统负荷。它绝对不会短于 ms 但可能更长。
    返回一个代表该定时器的不透明的值。

clearInterval(t)

停止一个之前用 setInterval() 创建的定时器。定时器的回调函数将不再被执行。

定时器函数都是全局变量。参看 timers 小节。

时间: 2024-10-10 07:33:43

Node.js API —— Global Objects(全局对象)的相关文章

大熊君大话NodeJS之------Global Objects全局对象

一,开篇分析 在上个章节中我们学习了NodeJS的基础理论知识,对于这些理论知识来说理解是至关重要的,在后续的章节中,我们会对照着官方文档逐步学习里面的各部分模块,好了该是本文主角登台亮相的时候了,Global  让我们来看一下官方的定义: Global Objects全局对象 These objects are available in all modules. Some of these objects aren't actually in the global scope but in t

详解Node.js API系列C/C++ Addons(3) 程序实例

http://blog.whattoc.com/2013/09/08/nodejs_api_addon_3/ 再续前文,前文介绍了node.js 的addon用法和google v8 引擎,下面,我们进入真正的编码,下面将会通过六个例子,学习node addon 范例,了解addon编程的特性 创建一个空项目 随机数模块 向模块传递参数 回调函数处理 线程处理 对象管理 创建一个空项目 vi modulename.cpp #include <node.h> void RegisterModul

node.js(API解读) - process (http://snoopyxdy.blog.163.com/blog/static/60117440201192841649337/)

node.js(API解读) - process 2011-10-28 17:05:34|  分类: node |  标签:nodejs  nodejsprocess  node.jsprocess  nodjsapi  node.jsapi   |举报 |字号 订阅 下载LOFTER 我的照片书  | nodejs的process是一个全局对象,他提供了一些方法和属性,node.js官方的API说的很简单,并没有把一些详细的应用方法和作用写出来,下面结合我自己的学习,做一下小结吧.1.Even

Node.js API

Node.js v4.4.7 Documentation(官方文档) Buffer Prior to the introduction of TypedArray in ECMAScript 2015 (ES6), the JavaScript language had no mechanism for reading or manipulating streams of binary data(二进制数据). The Buffer class was introduced as part of

Node.js API —— About this Documentation(关于本文档)

// 说明    Node API 版本为 v0.10.31.    中文参考:http://nodeapi.ucdok.com/#/api/ 本段为博主注解. 目录 ● 关于本文档    ○ 稳定性指标    ○ JSON 输出 关于本文档 本文档的目的是既能从参考文档角度也能从概念概览角度综合地解释 Node.js API.每个小节描述了一个内建模块或较之上层的核心模块.    如若合适,属性类型.方法参数和事件监听器的参数会详细地在主标题下面列出.    每个 .html 文件都有一个与之

Node.js API —— process(进程)

// 说明 Node API 版本为 v0.10.31.    中文参考:http://nodeapi.ucdok.com/#/api/,http://blog.sina.com.cn/oleoneoy 本段为博主注解. 目录 ● 进程    ○ Event: 'exit'    ○ Event: 'uncaughtException'    ○ Signal Events    ○ process.stdout    ○ process.stderr ○ process.stdin ○ pro

Node.js API —— Buffer(缓冲区)

// 说明 Node API 版本为 v0.10.31.    中文参考:http://nodeapi.ucdok.com/#/api/,http://blog.sina.com.cn/oleoneoy 本段为博主注解. 目录 ● 缓冲区    ○ Class: Buffer ■ new Buffer(size)       ■ new Buffer(array)       ■ new Buffer(str, [encoding])       ■ Class Method: Buffer.i

Node中的全局变量和全局对象

全局对象和全局变量 概念:所有属性都可以在程序的任何地方访问,即全局变量.在JavaScript中,通常window是全局对象,而Node.js的全局对象是global,所有全局变量都是global对象的属性,如:console.process等. global最根本的作用是作为全局变量的宿主,满足一下条件称为全局变量 1. 在最外层定义的变量 2. 全局对象的属性 3. 隐式定义的变量 ▲ 在node中不可能在最外层定义变量,因为所有的用户代码都是属于当前模块的,而模块本身是不属于最外层上下文

Node.js API —— Timers(定时器)

// 说明 Node API 版本为 v0.10.31.    中文参考:http://nodeapi.ucdok.com/#/api/ 本段为博主注解. 目录 ● 定时器    ○ setTimeout(callback, delay, [arg], [...])    ○ clearTimeout(timeoutObject)    ○ setInterval(callback, delay, [arg], [...])    ○ clearInterval(intervalObject)