【校招VIP】Node.js基本用法

02月07日 收藏 0 评论 0 前端开发

【校招VIP】Node.js基本用法

转载声明:文章来源https://blog.csdn.net/Yannick_H/article/details/125900643

一、Node.js简介
1.简称Node,封装了谷歌的V8引擎,使JavaScript可以在服务器端运行
2.特点
(1)非阻塞IO:又称为异步IO
(2)事件驱动:以事件为中心,把每个任务都当作事件来处理
(3)单线程:主线程维护一个事件队列,当接收到请求后,会将请求放入事件队列,然后去接收下一个请求,在JavaScript层面是单线程的,但是Node本身是多线程的平台。
3.nodemon插件
可以监视node程序的改动,并自动重启node程序
(1)安装: npm i nodemon -g
(2)由nodemon运行node程序 nodemon 文件名
二、Node的基本语法
1.箭头函数(ES6)
使用=>来定义函数
(1)一个参数的箭头函数:

var 变量名 = x => x

//对应的普通函数:

var 变量名 = function(x){
return x;
}

(2)两个参数的箭头函数

var 变量名 = (x,y)=> x*y

//对应的普通函数:

var 变量名 =function(x,y){
Return x*y;
}

(3)无参的箭头函数

var 变量名 = ( ) => 3*6

//对应的普通函数:

var 变量名 =function( ){
Return 3*6;
}

(4)函数体带有多条语句的

var 变量名 = () =>{
函数体语句
}

强调:若箭头函数的函数体用大括号({})括起来了,就没有默认的return功能.若函数需要返回数据就必须显式的使用return语句
2.高阶函数
一个函数的参数也是函数
3.闭包
当函数作为返回值,或作为参数传递时,该函数称为闭包
4.回调函数
fs模块:是filesystem(文件系统),该模块是node提供的异步读写文件的模块

const fs = require('fs') //导入fs模块
console.log('主程序开始...')
//调用fs的readFile函数异步读取文件(demo.txt)内容

//(1))匿名回调函数:若读取文件异常,err中存放的异常信息
//(2)data参数:从文件中读取的内容
fs.readFile('./demo.txt',function(err,data){
if(err){
console.error(err)
}
console.log(data.toString())
})
console.log('主程序结束...');

三、Node的事件机制
1.事件监听
(1)引入事件模块:events
(2)创建事件对象:EventEmitter( )
(3)注册事件:on(“事件名称”,回调函数)
2.触发事件:emit(‘事件名称’)

const EventEmitter = require('events').EventEmitter //引入事件模块
const myEvent = new EventEmitter() //实例化事件对象
//注册事件:seen
myEvent.on('seen',function(who){
console.log('报告,来了一位'+who);
})
myEvent.on('seen',function(){
console.log('欢迎光临!!!');
})
//触发事件
myEvent.emit('seen','女士')

四、Node的全局对象
1._filename:
代表当前正在执行的脚本文件的名字(带绝对路径)
2._dirname:
代表当前正在执行的脚本文件的所在的目录

console.log('文件名:'+__filename); //文件名:C:\Users\lenovo\Desktop\前端\js\716\3.js
console.log('目录名:'+__dirname); //目录名:C:\Users\lenovo\Desktop\前端\js\716

3.console类
4.process对象:进程对象
示例:使用readline对象+process对象实现终端的输入和输出

const readline = require('readline')
var r1 = readline.createInterface({ //创建一个接口
input: process.stdin, //stdin:表示标准的输入终端
output: process.stdout //stdout:表示标准的输出终端
})

//注册'line'事件
r1.on('line',function(data){
switch(data.trim()){
case 'copy':
console.log(data.toString())
break
case 'hello':
console.log('Hello World!')
break
case 'close':
r1.close()
break
default:
console.log('没有这个指令!')

}
});

r1.on('close',function(){
console.log('bye bye')
process.exit(0)
})

五、Node的定时器
1.一次性定时器
setTimeout(函数,间隔的时间)
2.周期性定时器
setInterval(函数,间隔的时间)
3.即时定时器
setImmediate()
六、Buffer数据类型
1.用于处理二进制数据的数据类型
2.Buffer对象类似于整数数组,大小在创建时确定并且不能改变
3.Buffer对象的创建
(1)Buffer.from([ ])
(2)Buffer.alloc( )
4.作用:用于编码的转换
(1)在文件操作和网络操作中,如果没有显式声明编码格式,返回数据的默认类型为Buffer
(2)通过使用显式字符编码将Buffer实例与JavaScript字符串相互转换
(3)将Buffer实例转换成JSON对象
A.什么是JSON对象:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式JSON采用完全独立于语言(编程语言)的文本格式。
B.使用场景:只要应用程序需要将结构化信息作为文本进行交换或存储,即可使用它。

{
code:200,
Msg:‘查询成功’
}

C.语法规则
a.数据存放在key-value中
b.数据用逗号分割
c.大括号({})保存对象
d.方括号([])保存数组

C 0条回复 评论

帖子还没人回复快来抢沙发