nodeJS入门例子一—全局对象

来源:互联网 发布:mac apache 虚拟主机 编辑:程序博客网 时间:2024/05/29 15:48

这些对象在所有模块中可用。实际上其中某些对象可以使用在模块范围但不适用于全局范围,这些将另行通知。

global(全局)

全局命名空间对象(The global namespace object.)

在浏览器中,最高层的范围(top-level scope)是全局范围(global scope)。意思就是说如果你在浏览器的全局范围中定义一个变量,将定义的是全局可用的变量。在NODEJS中不同。最高层的范围(top-level scope)不是全局范围(global scope);在node模型中定义一个变量将是这个模块的局部变量。

process(过程)

过程对象(process object)请参阅过程对象章节。

console (控制台)

用于标准输出(stdout :standard output)和标准错误输出(stderr:STDERR)的打印,参考标准输入输出(stdio:standard input/ouput)章节

Buffer (缓冲)

用于处理二进制数据( binary data),参考缓冲章节。

require() (请求模块)

请求模块。查看模块章节。require 实际上不是一个全局的,更确切地说是每个模块的局部的。

require.resolve() 

require()内部机构查看一个模块的本地情况,实际上就是加载模块,仅仅返回解析的文件名

require.cache 

当模块被请求时全都缓存在这个对象中。可以通过一个键值对(keyvalue )从此对象中删除,下一个请求将重新加载模块

__filename 

代码中的filename将被执行。这是这个代码文件的绝对路径。对于一个主程序,这没有必要再命令行中使用相同的文件名。在模块中的值是这个模块文件的路径。

例子:运行/Users/mjr路径下的js文件。

node example.js

console.log(__filename);// /Users/mjr/example.js

__filename 不是实际的全局变量,而是一个模块的局部变量。

__dirname 

当前执行脚本的目录路径名。

Example: running node example.js from /Users/mjr

console.log(__dirname);// /Users/mjr

__dirname不是实际的全局变量,而是一个模块的局部变量。

module 

当前模块的一个引用。详细说明 module.exportsexports    是相同对象。查看src/node.js获取更多详细信息。module 不是实际的全局变量,而是一个模块的局部变量。

exports

一个在当前模块中所有实体共享的对象,可以通过访问require()获取。exportsmodule.exports是同一对象。查看src/node.js获取更多详细信息。exports 不是实际的全局变量,而是一个模块的局部变量。

setTimeout(cb, ms) #

clearTimeout(t) #

setInterval(cb, ms) #

clearInterval(t) #

这些定时器函数都是全局变量,请参考定时器章节(timers)


原创粉丝点击