Node.js的全局对象是具有全局性的,它们可在所有的模块中应用。我们并不需要包括这些对象在应用中,而可以直接使用它们。这些对象的模块,函数,字符串和对象本身,如下所述。

__filename

__filename 表示正在执行的代码的文件名。这是此代码文件的解析绝对路径。 为一个主程序这不一定是在命令行中使用相同的文件名。 模块内的路径模块文件的值。

示例

创建一个js文件名为main.js里面有如下代码:

// Let's try to print the value of __filename

console.log( __filename );

现在运行main.js看到的结果:

$ node main.js

根据你的程序的位置,将打印主文件名,如下所示:

/web/com/15259554028_2109/main.js

__dirname

__dirname表示当前正在执行的脚本所在目录的名称。

示例

创建一个js文件名为main.js里面有如下代码:

// Let's try to print the value of __dirname

console.log( __dirname );

现在运行main.js看到的结果:

$ node main.js

根据你的程序的位置,将打印当前目录名称如下:

/web/com/1427091028_21099

setTimeout(cb, ms)

setTimeout(cb, ms) 全局函数用于至少毫秒毫秒后运行回调cb。实际延迟取决于外部因素,如OS计时器粒度和系统负载。计时器不能跨越超过24.8天。

该函数返回一个表示可用于清除定时器,定时器的不透明值。

示例

创建一个js文件名为main.js里面有如下代码:

function printHello(){
   console.log( "Hello, World!");
}
// Now call above function after 2 seconds
setTimeout(printHello, 2000);

现在运行main.js看到的结果:

$ node main.js

验证输出有一点点延迟后打印

Hello, World!

clearTimeout(t)

clearTimeout(t)的全局函数用来停止以前用的setTimeout()创建一个定时器。这里t是由setTimeout()函数返回的计时器。

示例

创建一个js文件名为main.js里面有如下代码:

function printHello(){
   console.log( "Hello, World!");
}
// Now call above function after 2 seconds
var t = setTimeout(printHello, 2000);

// Now clear the timer
clearTimeout(t);

现在运行main.js看到的结果:

$ node main.js

验证,不会有任何打印输出。

setInterval(cb, ms)

setInterval(cb, ms) 全局函数是用来至少毫秒后重复运行回调cb。实际延迟取决于外部因素,如OS计时器粒度和系统负载。计时器不能跨越超过24.8天。

函数返回一个表示可用于清除定时器使用功能的计时器的不透明值 clearInterval(t).

示例

创建一个js文件名为main.js里面有如下代码:

function printHello(){
   console.log( "Hello, World!");
}
// Now call above function after 2 seconds
setInterval(printHello, 2000);

现在运行main.js看到的结果:

$ node main.js

上述程序将每2秒之后执行函数printHello()。由于系统的限制,此方案不能执行选项,所以可以在本地检查你的机器。

全局对象

下表列出了一些我们经常使用在我们的应用中另一个对象的细节。对于进一步的细节,可以参考官方文档。

S.N. 模块名称 & 描述
1 Console
用于打印输出和错误信息
2 Process
用于获取当前进程的信息。提供处理活动有关的多个事件
 

标签:Node    js    全局对象

本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:易百教程 [http:/www.yiibai.com]
本文标题:Node.js全局对象
本文地址:http://www.yiibai.com/nodejs/nodejs_global_objects.html

Node.js全局对象的更多相关文章

  1. 30.Node.js 全局对象

    转自:http://www.runoob.com/nodejs/nodejs-module-system.html 学习要点: - __filename - __dirname - setTimeou ...

  2. Node.js 全局对象

    JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可 以在程序的任何地方访问,即全局变量. 在浏览器JavaScript 中,通常window 是全 ...

  3. Node.js 全局对象介绍

    全局对象 这些对象在所有模块里都可用.有些对象不是在全局作用域而是在模块作用域里,这些情况下面文档都会标注出来. global {Object} 全局命名空间对象. 浏览器里,全局作用域就是顶级域.如 ...

  4. 13、Node.js 全局对象

    主要用于调试,显示信息,重点看例子在浏览器 JavaScript 中,通常 window 是全局对象, Node.js 中的全局对象是 global ####__filename__filename ...

  5. JS全局对象的属性

    全局对象是最顶层的对象,在浏览器环境指的是window对象.在ES5中,全局对象的属性与全局变量是等价的. var str = "hello"; function test(){ ...

  6. 解决linux下node.js全局模块找不到的情况

    今天在在linux上用npm安装了pm2准备部署node项目,结果通过pm2命令启动项目的时候报pm2找不到,这很伤,以为pm2没有安装成功,但是在node安装目录下面的bin文件夹里面调用pm2却没 ...

  7. Node.js自定义对象事件监听与发射

    一.Node.js是以事件驱动的,那我们自定义的一些js对象就需要能监听事件以及发射事件.在Node.js中事件使用一个EventEmitter对象发出,该对象在events模块中.它应该是使用观察者 ...

  8. 查看node.js全局安装的插件路径

    查看 npm  全局插件 默认全局安装路径 参考:https://www.jianshu.com/p/f2873fcef5aa 首先 nodejs安装好之后,默认情况下会有如下配置 npm confi ...

  9. js基础学习之-js全局对象

    声明的三种方式: 第一种: var test; //或var test = 5; 第二种: test = 5; 第三种: window.test; //或window.test = 5; //只是使用 ...

随机推荐

  1. Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level(转)

    [问题] 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent does not ...

  2. 设计模式(4) -- 单例模式(Singleton)

    设计模式(4)  -- 单例模式(Singleton) 试想一个读取配置文件的需求,创建完读取类后通过New一个类的实例来读取配置文件的内容,在系统运行期间,系统中会存在很多个该类的实例对象,也就是说 ...

  3. BloomFilter--大规模数据处理利器

    Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法.通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合. 一. 实例 为了说明Bl ...

  4. 栈的链式存储 - API实现

    基本概念 其它概念详情參看前一篇博文:栈的顺序存储 - 设计与实现 - API实现 这里也是运用了链表的链式存储API高速实现了栈的API. 代码: // linkstack.h // 链式存储栈的A ...

  5. iozone文件系统测试 与EXCEL 制图

    http://www.iozone.org/[root@monitor bin]# ./iozone -a -s 512m -f /usr/test -y -q -Rb /root. -i -i Io ...

  6. iOS开发--通过MultipeerConnectivity完成蓝牙通讯

    iOS开发–通过MultipeerConnectivity完成蓝牙通讯 iOS蓝牙通讯的三种方式: GameKit.framework:iOS7之前的蓝牙通讯框架,从iOS7开始过期,但是目前已经被淘 ...

  7. Java基础知识强化之集合框架笔记32:集合之可变参数的概述和使用

    1. 可变参数的概述和使用: (1)可变参数:定义方法的时候不知道该定义多少个参数(2)格式:     修饰符  返回值类型  方法名(数据类型… 变量名){   }  注意: 这里的变量其实是一个数 ...

  8. Codeforces 570D - Tree Requests【树形转线性,前缀和】

    http://codeforces.com/contest/570/problem/D 给一棵有根树(50w个点)(指定根是1号节点),每个点上有一个小写字母,然后有最多50w个询问,每个询问给出x和 ...

  9. JQuery的$命名冲突详细解析

    在Jquery中,$是JQuery的别名,所有使用$的地方也都可以使用JQuery来替换,如$('#msg')等同于JQuery('#msg')的写法.然而,当我们引入多个js库后,在另外一个js库中 ...

  10. PHP 的try catch 报错捕获机制

    首先上代码: try { echo 'Never executed'; echo "<br>"; if(1<0){ echo 'end'; }else{ thro ...