Node.js 全局对象介绍
全局对象
这些对象在所有模块里都可用。有些对象不是在全局作用域而是在模块作用域里,这些情况下面文档都会标注出来。
global
- {Object} 全局命名空间对象。
浏览器里,全局作用域就是顶级域。如果在全局域内定义变量 var something
将会是全局变量。 Node 里不同,顶级域并不是全局域;在模块里定义变量 var something
只是模块内可用。
process
- {Object}
进程对象。 参见 process object 章节.
console
- {Object}
用来打印 stdout 和 stderr. 参见console 章节.
Class: Buffer
- {Function}
用来处理二进制数据。 参见buffer 章节。
require()
- {Function}
引入模块。 参见Modules 章节. require
实际上并非全局的,而是各个本地模块有效。
require.resolve()
使用内部 require()
机制来查找 module 位置,但是不加载模块,只是返回解析过的文件名。
require.cache
- {Object}
引入模块时会缓存到这个对象。通过删除该对象键值,下次调用require
将会重载该模块。
require.extensions
稳定性: 0 - 抛弃
- {Object}
指导 require
如何处理特定的文件扩展名。
将 .sjs
文件当 .js
文件处理:
require.extensions['.sjs'] = require.extensions['.js'];
抛弃 以前这个列表用来加载按需编译的非 JavaScript 模块到 node。实际上,有更好的办法来解决这个问题,比如通过其他 node 程序来加载模块,或者提前编译成 JavaScript。
由于模块系统已经锁定,该功能可能永远不会去掉。改动它可能会产生 bug,所以最好不要动它。
__filename
- {String}
被执行的代码的文件名是相对路径。对于主程序来说,这和命令行里未必用同一个文件名。模块里的值是模块文件的路径。
列如,运行 /Users/mjr
里的 node example.js
:
console.log(__filename);
// /Users/mjr/example.js
__filename
不是全局的,而是模块本地的。
__dirname
- {String}
执行的 script 代码所在的文件夹的名字。
列如,运行 /Users/mjr
里的 node example.js
:
console.log(__dirname);
// /Users/mjr
__dirname
不是全局的,而是模块本地的。
module
- {Object}
当前模块的引用。通过 require()
,module.exports
定义了哪个模块输出可用。
module
不是全局的,而是模块本地的。
更多信息参见module system documentation。
exports
module.exports
的引用。何时用 exports
和 module.exports
可参加module system documentation。
module
不是全局的,而是模块本地的。
更多信息参见 module system documentation。
更多信息参见module 章节。
setTimeout(cb, ms)
最少 ms
毫秒后调回调函数。实际的延迟依赖于外部因素,比如操作系统的粒度和负载。
timeout 值有效范围 1-2,147,483,647。如果超过范围,将会变为 1 毫秒。通常,定时器不应该超过 24.8 天。
返回一个代表定时器的句柄值。
clearTimeout(t)
停止一个之前通过 setTimeout()
创建的定时器。不会再被执行回调。
setInterval(cb, ms)
每隔 ms
毫秒调用回调函数 cb
。实际的间隔依赖于外部因素,比如操作系统的粒度和系统负载。通常会大于ms
。
间隔值有效范围 1-2,147,483,647。如果超过范围,将会变为 1 毫秒。通常,定时器不应该超过 24.8 天。
返回一个代表该定时器的句柄值。
clearInterval(t)
停止一个之前通过 setInterval()
创建的定时器。不会再被执行回调。
timer 函数是全局变量。
Node.js 全局对象介绍的更多相关文章
- Node.js全局对象
Node.js的全局对象是具有全局性的,它们可在所有的模块中应用.我们并不需要包括这些对象在应用中,而可以直接使用它们.这些对象的模块,函数,字符串和对象本身,如下所述. __filename __f ...
- 30.Node.js 全局对象
转自:http://www.runoob.com/nodejs/nodejs-module-system.html 学习要点: - __filename - __dirname - setTimeou ...
- Node.js 全局对象
JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可 以在程序的任何地方访问,即全局变量. 在浏览器JavaScript 中,通常window 是全 ...
- 13、Node.js 全局对象
主要用于调试,显示信息,重点看例子在浏览器 JavaScript 中,通常 window 是全局对象, Node.js 中的全局对象是 global ####__filename__filename ...
- [转]为什么我要用 Node.js? 案例逐一介绍
原文地址:http://blog.jobbole.com/53736/ 介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样, ...
- 【转】为什么我要用 Node.js? 案例逐一介绍
原文转自:http://blog.jobbole.com/53736/ 介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样, ...
- Node.js 安装配置介绍
Node.js 安装配置 本章节我们将向大家介绍在window和Linux上安装Node.js的方法. 本安装教程以Node.js v6.10.1 LTS(长期支持版本)版本为例. Node.js安装 ...
- NPM(Node.js) 使用介绍
前言:express 推出了4.X,自己尝试了一下,出现了各种问题.结果查看了各种文档和问题,现在在这个给大家分享下4.X版本的安装. NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具, ...
- (1)ES6中let,const,对象冻结,跨模块常量,新增的全局对象介绍
1.let声明变量,var声明变量,而const声明的常量 2.let与var的区别 let可以让变量长期驻扎在内存当作 let的作用域是分块[ {快1 {快2 } }每个大括号表示一个独立的块 ...
随机推荐
- LinkedHashMap就这么简单【源码剖析】
前言 声明,本文用得是jdk1.8 前面已经讲了Collection的总览和剖析List集合以及散列表.Map集合.红黑树还有HashMap基础了: Collection总览 List集合就这么简单[ ...
- Java中对List去重, Stream去重
问题 当下互联网技术成熟,越来越多的趋向去中心化.分布式.流计算,使得很多以前在数据库侧做的事情放到了Java端.今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段去重?大家都一致认为用Ja ...
- django Form组件
django Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建 ...
- Java知识体系纲要
最近一段时间,把Java主要涉及到的大概念都大致学习了一遍,为了让自己能够更好地形成对Java知识体系的整体把握,先把学过的知识点添加到自己画的思维导图上. 整个Java知识体系的划分,我自己主要将它 ...
- C# 类型、存储和变量
如果广泛地描述C和C++程序的源代码的特征,可以说C程序是一组函数和数据类型,C++程序是一组函数和类,然而C#程序是一组类型声明. 既然C#程序就是一组类型声明,那么学习C#就是学习如何创建和使用类 ...
- 在MySQL中使用子查询
子查询作为数据源 子查询生成的结果集包含行.列数据,因而非常适合将它与表一起包含在from子句的子查询里.例: SELECT d.dept_id, d.name, e_cnt.how_many num ...
- 手写java虚拟机(一)——搭建环境
毕业设计打算做一个java虚拟机,首先要对java虚拟机有一个简单的了解(jvm).目前市面上有众多的jvm,如sun公司的HotSpot VM.Classic VM,IBM公司的J9 VM等等,这里 ...
- Mac安装opencv指南
最近接到了新的调研任务.主要是和人脸,各种所谓'AI'相关的.因为这里要处理视频和图像.于是在网上看到很多资料都是关于opencv的所以准备用opencv来开发这些东西.既然要用到opencv.那 ...
- Git的安装和使用(托管至GitHub的方法)
一.下载Git 1.下载 下载地址: https://git-scm.com/download/win 根据你的操作系统选择32位或者64位 2.安装过程一路next 3.检验安装是否成功 在桌面点击 ...
- [BZOJ 4589]Hard Nim
Description 题库链接 两人玩 \(nim\) 游戏,\(n\) 堆石子,每堆石子初始数量是不超过 \(m\) 的质数,那么后手必胜的方案有多少种.对 \(10^9+7\) 取模. \(1\ ...