nodejs的基础概念

 

2.Node.jsREPL(交互式解释器)

类似于控制台,可以输入命令,并接受系统的响应。

REPL 的功能:

  1.读取:读取用户输入,解析输入的 js 数据结构,并存储在内存中。

  2.执行:执行输入的数据结构。

  3.打印:输出结果。

  4.循环:可以循环1、2、3操作指导ctrl+c两次退出。

开启 Node 终端:node 即可开启。

运算符:+、-、*、/,还支持括号改变优先级。

变量定义:使用var来定义变量。常用的输出 API:console.log()。

多行表达式:这里指的是循环,与在 js 中做的循环是一致的。每输出一行回车就可以,node 会自动检测是否为连续多行表达式。

下划线_变量:可以使用下划线变量来获取上一个表达式的运算结果。

REPL 命令:

  Ctrl+c 退出当前终端。

  Ctrl+c 连续两次,退出Node REPL

  Ctrl+d 退出 Node REPL

  向上/向下键-查看输入的历史命令。

  tab 键 列出当前命令

  .help 列出使用命令

  .break 退出多行表达式

  .clear 退出多行表达式

  .save filename 保存当前的 Node REPL 会话到指定文件。

  .load filename 载入当前 Node REPL 会话的文件内容。

3. Node.js 回调函数

Node.js异步编程的直接体现就是回调。

异步编程依托于回调来实现,但是不能说使用回调就是异步化。

回调函数在完成任务后就会调用,Node使用了大量的回调函数,Node所有的API都支持回调函数。

注:阻塞是按顺序执行的,而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们需要写在回调函数内。

4.Node.js事件循环

Node.js是单进程单线程应用,但是通过事件和回调支持并发, 所以性能很高。

Node.js的每一个API都是异步的(这里个人认为表达的意思应该是每一个API都是支持回调。参考第三部分),并作为一个独立线程运行,使用异步函数调用,并处理并发。

Node.js基本上所有的事件机制都是用设计模式中的观察者模式实现的。

Node.js单线程类似进入一个while(true)的事件循环,直到没有事件,观察者退出,每个异步事件都生成一个事件观察者。如果有事件发生就调用该回调函数。

nodejs的基础概念

 

Node.js中内置多个事件,可以引入events模块,并通过实例化EventEmitter类来绑定和监听事件。

nodejs的基础概念

 

在Node中:执行异步操作的函数将回调函数作为最后一个参数,回调函数接受错误对象作为第一个参数。

nodejs的基础概念

 5.Node.js EventEmitter

Node.js 所有的异步I/O操作在完成时都会发送一个事件到事件队列。

Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件,一个fs.readStream对象会在文件被打开的时候发出一个事件。所有产生的事件的对象都是events.EventEmitter的实例。

EventEmitter类

events模块只提供了一个对象,events.EventEmitter。EventEmitter的核心就是事件触发与事件监听器功能的封装。

// 引入 events 模块 var events = require('events'); // 创建 eventEmitter 对象 var eventEmitter = new events.EventEmitter();

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygwjy.html