Node.js全局对象
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 用于获取当前进程的信息。提供处理活动有关的多个事件 |
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:易百教程 [http:/www.yiibai.com]
本文标题:Node.js全局对象
本文地址:http://www.yiibai.com/nodejs/nodejs_global_objects.html
Node.js全局对象的更多相关文章
- 30.Node.js 全局对象
转自:http://www.runoob.com/nodejs/nodejs-module-system.html 学习要点: - __filename - __dirname - setTimeou ...
- Node.js 全局对象
JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可 以在程序的任何地方访问,即全局变量. 在浏览器JavaScript 中,通常window 是全 ...
- Node.js 全局对象介绍
全局对象 这些对象在所有模块里都可用.有些对象不是在全局作用域而是在模块作用域里,这些情况下面文档都会标注出来. global {Object} 全局命名空间对象. 浏览器里,全局作用域就是顶级域.如 ...
- 13、Node.js 全局对象
主要用于调试,显示信息,重点看例子在浏览器 JavaScript 中,通常 window 是全局对象, Node.js 中的全局对象是 global ####__filename__filename ...
- JS全局对象的属性
全局对象是最顶层的对象,在浏览器环境指的是window对象.在ES5中,全局对象的属性与全局变量是等价的. var str = "hello"; function test(){ ...
- 解决linux下node.js全局模块找不到的情况
今天在在linux上用npm安装了pm2准备部署node项目,结果通过pm2命令启动项目的时候报pm2找不到,这很伤,以为pm2没有安装成功,但是在node安装目录下面的bin文件夹里面调用pm2却没 ...
- Node.js自定义对象事件监听与发射
一.Node.js是以事件驱动的,那我们自定义的一些js对象就需要能监听事件以及发射事件.在Node.js中事件使用一个EventEmitter对象发出,该对象在events模块中.它应该是使用观察者 ...
- 查看node.js全局安装的插件路径
查看 npm 全局插件 默认全局安装路径 参考:https://www.jianshu.com/p/f2873fcef5aa 首先 nodejs安装好之后,默认情况下会有如下配置 npm confi ...
- js基础学习之-js全局对象
声明的三种方式: 第一种: var test; //或var test = 5; 第二种: test = 5; 第三种: window.test; //或window.test = 5; //只是使用 ...
随机推荐
- Scrapy运行报错解决方案
最近在学习Scrapy框架,用博客记录一下遇到的错误的解决方案 时间: 2016-9-20 错误:ImportError: No module named items 原因:spiders下的.py文 ...
- android tips—启动Emergency call拨号盘
Intent intent = new Intent(); intent.setAction("com.android.phone.EmergencyDialer.DIAL"); ...
- UVA10972 - RevolC FaeLoN(双连通分量)
题目链接 题意: 给定一个无向图,问最少加入多少条边,使得这个图成为连通图 思路:首先注意题目给出的无向图可能是非连通的,即存在孤立点.处理孤立点之后.其它就能够当作连通块来处理.事实上跟POJ335 ...
- 关于PHP定时执行任务的实现(转)
PHP在这方面应该说是比较弱,如果只用php去实现可以如下: <?php ignore_user_abort();//关闭浏览器后,继续执行php代码 set_time_limit(0);//程 ...
- 3高并发server:多路IO之epoll
1 epoll epoll是Linux下多路复用IO接口select/poll的增强版本号,它能显著提高程序在大量并.发连接中仅仅有少量活跃的情况下的系统CPU利用率,由于它会复用文件描写叙述符 ...
- MS SQL 性能优化
http://blog.csdn.net/dba_huangzj/article/details/50455543
- Java基础知识强化之集合框架笔记45:Set集合之TreeSet存储自定义对象并遍历练习1(自然排序:Comparable)
1. 自然排序: TreeSet会调用集合元素的compareTo(Object obj)方法来比较元素之间的大小关系,然后将集合元素按照升序排列,这种方式就是自然排序. Java中提供了一个Comp ...
- 第八篇:python高级之多进程
python高级之多进程 python高级之多进程 本节内容 多进程概念 Process类 进程间通讯 进程同步 进程池 1.多进程概念 multiprocessing is a package ...
- post get
/// <summary> /// Get方法 /// </summary> /// <param name="serverUrl">url地址 ...
- 将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据
领导让在存储过程中批量添加数据,找出效率最高的,我看到后台代码后,发现可以将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据,知道还有其 ...