文章目录
一、前言
二、全局对象
1、console打印输出
2、setTimeout超时输出
3、setInterval循环间隔输出
4、clearInterval 清除循环间隔输出
5、__dirname输出当前所在目录
6、__filename输出当前所在文件目录
一、前言
上篇文章对nodejs做了简单介绍 Node.js后端开发 - 基础篇 #1 课程介绍与开发环境搭建,今天我们来看一下nodejs的全局对象,在浏览器中我们也有一个全局对象叫window,它里面的方法我们在哪里都可以调用,比如说console.log之类的,那么在nodejs中我们也有类似的全局对象,如下面这些,全都是全局对象,在哪里都可以调用,不用导入什么之类的!
可参考nodejs的 api 地址:Global Objects | Node.js v9.11.2 Documentation
二、全局对象
1、console打印输出
我们来看一下,上篇文章里面写的一行nodejs的代码
console.log("hello world");
在这里这个console就是一个全局对象,它根本不用导入,我们在哪里都可以调用到它。下面我们看一下命令行输出
bogon:hello-nodejs luminal$ node app
hello world
bogon:hello-nodejs luminal$ node app.js
hello world
bogon:hello-nodejs luminal$
因为我们安装了nodejs,所以就有node命令了,node app( 文件名 )即可输出,不写.js的后缀也可以
2、setTimeout超时输出
setTimeout代码示例
setTimeout(() => {
console.log(" 3秒 超时的输出内容!");
}, 3000);
输出内容
bogon:hello-nodejs luminal$ node app
3秒 超时的输出内容!
bogon:hello-nodejs luminal$
其中,这个箭头函数 "=>" 是es6的写法,我们来看一下常规写法:
//es6写法
setTimeout(() => {
console.log(" 3秒 超时的输出内容!");
}, 3000);
//常规写法
setTimeout(function() {
console.log(" 3秒 超时的输出内容!");
}, 3000);
也就是说,这里setTimeout的第一个参数是一个方法,它是一个匿名方法,即不用带名字的方法
3、setInterval循环间隔输出
setInterval代码示例
setInterval(() => {
console.log("每隔2秒 输出的内容!");
}, 2000);
说明代码意思是每隔2秒进行输出,我们来看一下输出结果:
bogon:hello-nodejs luminal$ node app
每隔2秒 输出的内容!
每隔2秒 输出的内容!
每隔2秒 输出的内容!
^C
bogon:hello-nodejs luminal$
值得注意的是,你要结束命令,可以执行 control + c 的快捷键。
下面我们加一个变量累加的效果,代码如下:
var time = 0;
setInterval(() => {
time += 2;
console.log(time + "每隔2秒 输出的内容!");
}, 2000);
我们来看一下输出结果:
ogon:hello-nodejs luminal$ node app
2每隔2秒 输出的内容!
4每隔2秒 输出的内容!
6每隔2秒 输出的内容!
8每隔2秒 输出的内容!
10每隔2秒 输出的内容!
12每隔2秒 输出的内容!
^C
bogon:hello-nodejs luminal$
4、clearInterval 清除循环间隔输出
clearInterval代码示例:
var time = 0;
var timeFlag = setInterval(() => {
time += 2;
console.log(time + "每隔2秒 输出的内容!");
if(time>5){
clearInterval(timeFlag);
}
}, 2000);
我们来看一下输出结果:
bogon:hello-nodejs luminal$ node app
2每隔2秒 输出的内容!
4每隔2秒 输出的内容!
6每隔2秒 输出的内容!
bogon:hello-nodejs luminal$
5、__dirname输出当前所在目录
__dirname代码示例:
console.log(__dirname);
我们来看一下输出结果:
bogon:hello-nodejs luminal$ node app
/Users/luminal/Desktop/nodejs/hello-nodejs
bogon:hello-nodejs luminal$ ls
app.js
bogon:hello-nodejs luminal$
6、__filename输出当前所在文件目录
__filename代码示例:
console.log(__filename);
我们来看一下输出结果:
bogon:hello-nodejs luminal$ node app
/Users/luminal/Desktop/nodejs/hello-nodejs/app.js
bogon:hello-nodejs luminal$
除此之外require、exports等全局变量,这个会在讲解模块的时候会说到!
下一篇文章:Node.js后端开发 - 基础篇 #3 回调函数