251-node.js入门

本文深入探讨了Node.js的新旧语法特性,包括变量定义、解构赋值、类与继承、回调函数、模块系统及文件读写操作。通过具体示例讲解了Promise的使用,帮助读者掌握Node.js核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >








node.js入门





1.旧语法
var定义的变量可以修改,而且可以重新定义
var a = 10
console.log(a)

var a = 'hello'
console.log(a)



2.新语法
let:可以修改变量,但是不允许重新定义
const 不可以修改,常量
let b = 20
console.log(b)

const c = 'hello'
console.log(c)








3.解构赋值
numbers = [1,2,3,4]
let a = numbers[0]
let b = numbers[1]

新操作我们可以这样做
let [a,b,c,d] = numbers 




let person = {'name':'Jim' , 'age' :20}
let {name, age} = person
console.log(name, age)



类
class Person{
	//构造函数
	constructor(name,age){
	this.name=name
	this.age=age
	}

	//成员函数,不需要使用function关键字
	say(){
	console.log(name,age)
	}
}

let p1 = new Person('father',40)
p1.say()

let p2 = new Person('son',20)
p2.say()




类的继承
class Student extends Person{

	constructor(name,age){
	super(name,age)

	this.name=name
	this.age=age
	}

}

let s1 = new Student('stu01' , 20)
s1.say()








回调函数callback
我们来写一个读文件的demo

nodejs有内置的文件系统包
fs filesystem

先写一下同步读取
代码
let fs = require('fs')

let info = fs.readFileSync('./test.js')
console.log(info.toString())


然后我们写异步的读取
let fs = require('fs')

fs.readFile('./test.js','utf-8', (err,data) => {
	if (err){
	console.error('fail')
	}

	console.log('info: ' , data.toString())
})








模块系统
exports,require

function print1(){
	console.log('hello world')
}

module.exports=print1

另一文件
let print1=require('./exportstest')
print1()





如果要导出2个
exportFunc={print1,print2}
module.exports=exportFunc

或者
module.exports=exportFunc={print1,print2}

然后
let exportFunc=require('./exportstest')
exportFunc.print1()
exportFunc.print2()







文件读写
fs.readFile('./test.js', 'utf-8', (err,data)=>{

	if(err){
	console.error('读取文件失败')
	return
	}

	console.log('异步读取数据:', data.toString())

	//在读取文件的回调中写入数据
	fs.writeFile('./1.txt', data, 'utf-8', (err,info)=>{
	
	if(err){
	console.error('fail: '+ err)
	return
	}

	console.log('success')

	fs.stat('./1.txt', (err,statInfo)=>{
		if(err){
		console.error()
		return
		}
		
		console.log(statInfo)
	})

	})

})







promise
1.promise是一个类型
2.接收一个回调函数作为参数
3.这个回调函数包含两个函数回调函数
4.resolve是一个回调函数,在代码执行成功时调用
let promiseFunc = new Promise(function(resolve, reject){
	fs.readFile('./test.js', (err,data)=>{
		if(err){
		console.log('read fail')

		reject(err)
		}

		resolve(data)
	})
})


let readFilePromise==()=>{
	return new Promise(function(resolve, reject){
	fs.readFile('./test.js', (err,data)=>{
		if(err){
		console.log('read fail')

		reject(err)
		}

		resolve(data)
	})
})
}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值