【翻译】Node.js 教程 —— 全局对象

2018-11-14  本文已影响10人  kyuan

今天来讲一下全局对象

当我们写浏览器端 Javascript 时,全局对象是 window,我们可以访问全局属性或方法,如 alert scroll setTimeout 等等。

而 Node.js 的全局对象不再是 window,因为已经不再是浏览器的环境。它的全局对象叫 global,跟 window 对象一样可以访问开箱即用的方法。

Node.js 文档的 Global 页详细的列出我们可以使用的方法,如浏览器端 window 对象同样能使用的 setInterval setTimeout console,global 对象还增加了不少方法。

下面让我们来试试:
假设我们 D 盘下有一个 app.js 文件

'D:\app.js'

console.log('hello to node.js');

在命令行进入文件所在路径( D 盘)并运行,即返回 hello to node.js

node app
'D:\app.js'
// global 可加可不加,但在 node.js 加且只能加 global 而非 window
global.setTimeout(function(){
    console.log('3 秒已经过去');
}, 3000);

命令行运行,过 3 秒后返回 3 秒已经过去

node app

在命令行运行,每隔 2 秒后返回 2 秒已经过去,停止进程可通过命令行输入ctlr+c 停止

'D:\app.js'
var time = 0;
setInterval(function(){
    time +=2;
    console.log(time +' 秒已经过去');
}, 2000);
node app

或者与浏览器 Javascript 相同, clearInterval 清除定时器

'D:\app.js'
var time = 0;
var timer = setInterval(function(){
    if(time > 5){
        clearInterval(timer); // 5 秒后停止
    }
    console.log(time +' 秒已经过去');
}, 2000);

几样更酷的,Node.js 可以告诉我们当前目录和文件

console.log(__dirname); // 输出当前文件所在路径
console.log(__filename); // 输出当前文件路径,包含文件名

全局对象还有更多 API,之后的课程会继续覆盖,那,下节课见。

上一篇 下一篇

猜你喜欢

热点阅读