Node.js后端开发 - 基础篇 #2 全局对象

2023-11-06

文章目录

一、前言

二、全局对象

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 回调函数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js后端开发 - 基础篇 #2 全局对象 的相关文章

随机推荐

  • 为你精选107个本科软件工程专业的计算机毕业设计项目推荐

    当面对茫茫计算机毕业设计题目海洋 你是否感到无所适从 不知如何选出一个富有创新意义的题目 今天 我们将为大四的同学们分享一些毕业设计项目 希望能给你的毕业设计带来一些灵感 一 成品列表 以下所有springboot框架项目的源码博主已经打包
  • sql:mysql:截取某个字符 1.最后一次出现的之前的字符串 2.最后出现那次的之后的字符串

    截取某个字符最后一次出现 如 之前的字符串 示例字符串 我是 中国 人 select REVERSE 我是 中国 人 from dual 人 国中 是我 select INSTR REVERSE 我是 中国 人 1 from dual 2
  • [零刻]EQ12&EQ12Pro安装OpenWRT软路由教程

    OpenWRT系统安装 安装前准备 1 U盘一个 2 WePE写盘工具 3 Openwrt固件 4 Img镜像写盘工具 安装步骤 1 首先下载WePE写盘工具 制作一个PE系统安装环境 启动软件后 选择安装PE到U盘 2 插入U盘后 刷新一
  • jQuery 查找文本并高亮

    让我们来看一下如何使用 jQuery 去查找或搜索一段文本并高亮它 我是 jQuery 的忠实粉丝 喜欢它简介的语法 接下来让我演示一个示例 仅使用一行 jQuery 代码便可把搜索字段进行高亮
  • <HTML>简单登录页面代码

    这是一个简单的静态的html页面登录图片 之前写的 验证码方面没有搞懂 这里我重新参考了这里 但是部分功能还没有完善 仅供参考
  • 2023年全国硕士研究生入学统一考试英语(一)试题

    2023年全国硕士研究生入学统一考试英语 一 试题 Section I Use of Englis Directions Read the following text Choose the best word s for each num
  • 毕业论文找文献是个问题,我直接用python把全网文献爬了一遍,这波就很舒服

    文章目录 一 写在前面 二 准备工作 三 开始爬取 四 效果展示 一 写在前面 马上要毕业了兄弟们 毕业论文是个麻烦事 论文要的资料得一条一条去网上查看 那多浪费时间 咱直接写个爬虫 批量下载慢慢看 不舒服 二 准备工作 使用软件 Pyth
  • mysql char 和varchar的区别?

    char 和varchar的区别 1 char 一定会使用指定的空间 varchar是根据数据来定空间 2 char的插入数据效率理论上比varchar高 varchar是需要通过后面的记录数来计算 使用哪一种类型 如果确定数据一定是占指定
  • C++桌面端使用 zxing-cpp 和 opencv 生成二维码(带中间logo)

    一 环境工具准备 VS2019 Cmake zxing cpp 源代码 https gitee com asalmc zxing cpp opencv4 2 0 二 zxing cpp 编译 1 源码目录下新建build文件夹存放构建目录
  • EC20 配置DHCP客户端自动获取IP

    1 dnsmasq介绍 Dnsmasq为小型网络提供网络基础设施 DNS DHCP 路由器通告和网络引导 它被设计为轻量级且占用空间小 适用于资源受限的路由器和防火墙 它还被广泛用于智能手机和便携式热点的共享 并支持虚拟化框架中的虚拟网络
  • 特征训练、预测一致性管理工具:开源项目Feast

    在机器学习的流程大体可以分成模型训练和模型服务两个阶段 无论是训练和服务阶段 其实都需要进行特征工程相关的工作 这块的技术挑战就是如何保证训练和预测过程中使用的特征是一致的 这个问题困扰了很多机器学习从业者 比较典型的场景就是推荐场景 在推
  • phpstudy(小皮模板存在nginx解析漏洞)

    前言 好久没写文章了 最近比较忙 今天抽个空写点东西 phpstudy介绍 PhpStudy国内12年老牌公益软件 集安全 高效 功能与一体 已获得全球用户认可安装 运维也高效 支持一键LAMP LNMP 集群 监控 网站 数据库 FTP
  • IAR 软件激活步骤

    1 下载IAR软件 然后点击安装 一路NEXT 2 安装后激活 需要断网 3 打开IAR软件 在软件目录中点击help License manger 4 弹出IAR License manager界面 点击license offline a
  • 阿里云商标注册入口/查询/买卖/分类表/撤三/续展/驳回复审入口汇总一键直达

    阿里云商标服务包括商标注册申请 商标近似查询 商标买卖 商标分类表 商标撤三申请 商标续展申请 商标驳回复审 商标起名及商标管理后台等服务 阿里云百科汇总阿里云商标服务入口大全 本文长期更新阿里云商标注册各种链接地址 阿里云商标服务入口链接
  • matplotlib学习

    figure axes axis add subplot subplot figure包括axes figure是画板 axes是画板上的子图 figure 使用add subplot pyplot使用的是subplot生成一个figure
  • (理财八)普通必须掌握的理财方式----定投

    理财八 普通必须掌握的理财方式 定投 我们先要了解一种 一直会用到的 打理股权类产品的投资方式一一基金定投 基金定投不是一个产品 是打理账户用的方法 是未来讲到股票基金配置时候 买入频率的方法 这种方法是被验证确实能帮小白理财者挣到钱的方式
  • 计算机网络01之计算机网络分层结构

    计算机网络01 1 计算机网络分层结构 1 下层为上层提供服务 SDU数据单元 为完成用户所要求功能而应传送的数据 PCI协议控制单元 控制协议操作的信息 PDU协议数据单元 对等层次之间传送的数据单位 2 OSI 7层参考模型 OSI 7
  • 微分中值定理定义及几何意义

    微分中值定理定义及几何意义 1 罗尔定理 2 拉格朗日中值定理 3柯西中值定理 1 罗尔定理 如果函数f x 满足 1 在闭区间 a b 上连续 2 在开区间 a b 内可导 3 f a f b 则在 a b 内至少有一点 a b 使得f
  • QT信号和槽

    系列文章目录 提示 这里可以添加系列文章的所有文章的目录 目录需要自己手动添加 例如 第一章 Python 机器学习入门之pandas的使用 提示 写完文章后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一
  • Node.js后端开发 - 基础篇 #2 全局对象

    文章目录 一 前言 二 全局对象 1 console打印输出 2 setTimeout超时输出 3 setInterval循环间隔输出 4 clearInterval 清除循环间隔输出 5 dirname输出当前所在目录 6 filenam