一、Node.js 下的全局函数

1.1JavaScript 语言提供的全局函数,在 Node.js 下依然可用

• parseInt/parseFloat/isNaN/isFinite/eval..

• 一次性定时器(setTimeout / clearTimeout)

• 周期性定时器(setInterval / clearInterval)

1.2 Node.js 环境也提供了一些全局函数

• 立即执行定时器(setImmediate / clearImmediate)

先运行主程序,当主程序运行完以后,nextTick函数,它是主程序的尾部。 是在主进程结束后立即执行。然后运行setImmediate函数,事件队列头部函数,它是在事件队列开始之前,立即执行。最后执行事件队列里面的setTimeout函数。

主程序是同步的,事件队列是异步的,当主程序执行完成,会通知事件队列去执行,如果不是立即加载的函数,比如setTimeout,它会丢在事件队列中,当主程序执行完去通知事件队列,然后从头部到里,依次执行。

1.3Node.js 环境还提供了其他全局函数

• 立即执行定时器(setImmediate / clearImmediate)刚刚讲过的。

• 进程立即执行定时器(process.nextTick) Node环境提供的第二个函数。

1.4示例

通过示例我们看到,执行顺序是

1.num变量打印。

2.process.nextTick()函数,再变量打印后主程序结束后立即执行的。

3.setImmediate()函数,再主程序尾部函数执行完后,执行事件队列头部的函数。

4.setTimeout()函数,再执行完事件队列头部的函数后,执行的内部函数。

(7)Node.js 全局函数相关推荐

  1. Node.js 全局对象

    Node.js 全局对象 在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 gl ...

  2. 30.Node.js 全局对象

    转自:http://www.runoob.com/nodejs/nodejs-module-system.html 学习要点:  - __filename  - __dirname  - setTim ...

  3. (6)Node.js 全局对象

    一.浏览器全局对象和Node.js 全局对象 浏览器下的全局对象是window,而Node.js 下的全局对象是 global. 二.Node.js全局对象global的注意事项 • 在交互模式下,声 ...

  4. node.js 回调函数

    Node.js 回调函数 Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数, ...

  5. Node.js 功能函数

    Node.js 功能函数Node.js 功能函数Node.js 功能函数Node.js 功能函数Node.js 功能函数Node.js 功能函数 最近在项目中经常用到的一些JavaScript fun ...

  6. linux node 命令无效,完美解决linux下node.js全局模块找不到的情况

    今天在在linux上用npm安装了pm2准备部署node项目,结果通过pm2命令启动项目的时候报pm2找不到,这很伤,以为pm2没有安装成功,但是在node安装目录下面的bin文件夹里面调用pm2却没 ...

  7. node.js全局对象和全局变量

    概念:所有属性都可以在程序的任何地方访问,即全局变量.在JavaScript中,通常window是全局对象,而Node.js的全局对象是global,所有全局变量都是global对象的属性,如:con ...

  8. Node.js全局对象

    Node.js的全局对象是具有全局性的,它们可在所有的模块中应用.我们并不需要在应用中引用这些对象,而可以直接使用它们. 一.__filename __filename 表示正在执行的代码的文件名.这 ...

  9. [Node.js]回调函数

    简介 Node.Js异步编程的直接表现方式就是回调.异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了.回调函数在完成任务后就会被调用,Node使用了大量的回调函数,node所有api都支持 ...

最新文章

  1. 在CentOS 6.9 x86_64上开启nginx 1.12.2的proxy_cache缓存配置
  2. 阿里云视频点播获取视频点播的video信息
  3. caffe之特征图可视化及特征提取
  4. 解决方案 | tensorflow安装慢解决方案
  5. 微信提交表单到服务器,微信小程序页面表单如何跟图片一起上传服务器
  6. go语言slice使用的时候遇到的奇怪现象以及分析
  7. 吴恩达机器学习练习2:Regularized logistic regression
  8. Oracle密码过期问题处理方法
  9. arm linux嵌入式系统教程课后答案,ARM嵌入式系统基础教程课后习题答案及练习题__周立功...
  10. 加拿大计算机科学薪酬,加拿大最好找工作及薪酬最高的十大专业介绍
  11. 数据分析 | 多元线性回归
  12. 黑客攻防---从零开始认识黑客,简单认知
  13. Azure NSG Flow Log 引发的自嗨 -- 日志查询分析
  14. 保姆式学习,解决夜神模拟器ADB版本不一致问题
  15. 程序员之间的鄙视链,冥冥之中好像有那么一丝道理
  16. 信息学奥赛初赛题目讲解(2)
  17. Vmware 安装 RedFlag-6.x For Linux
  18. 本地服务器收银系统,开酒吧用什么收银系统?
  19. 博科第六代光纤交换机大起底
  20. 004 - 微信小程序 仿美团城市选择 城市切换

热门文章

  1. 日志服务与SIEM(如Splunk)集成方案实战 1
  2. websevice中runtime modeler error: Wrapper class com.ws.jaxws.Add is not found问题的解决办法
  3. Ubuntu 11.04下最流行的17款应用(linux在中国市场的占有率好像只有0.1几%)
  4. vmware的vmnet-概念的解说
  5. screw (螺丝钉) ~ 简洁好用的数据库表结构文档生成工具
  6. Java 开发常用类库和API
  7. 你需要知道的基础算法知识——STL和基础数据结构(六)
  8. android自定义底部中间突出导航栏,Android选中突出背景效果的底部导航栏功能
  9. 数据合并设计_Excel数据管理中的那些“坑”,你踩了几个?
  10. SQL 用一个表的数据更新另一张表