Nodejs的基础概念

q1871901600 发布于 2024-11-11 18 次阅读


异步编程

Node.js采用单线程异步非阻塞I/O模型,使得Node.js在处理I/O密集型任务时非常高效。Node.js提供了多种异步编程的解决方案,包括回调函数、Promises、async/await等。

模块

Node.js使用模块来组织代码。每个文件都是一个模块,模块内部声明的变量、函数等都是私有的,外部无法直接访问。但可以通过module.exports对象导出模块中的变量、函数等,供其他模块通过require函数引入和使用。(使用require()加载模块是同步的,因为如果模块加载失败,程序无法继续执行)node9及以上才支持import语法

函数

Node.js中的函数是执行特定任务的代码块。函数可以接受参数,执行代码,并返回结果。Node.js支持多种函数声明方式,包括:

  • 函数声明:使用function关键字声明函数。
  • 函数表达式:将函数赋值给变量。
  • 箭头函数(ES6中新增):使用=>符号定义更简洁的函数。箭头函数不绑定自己的this,会捕获其所在上下文的this值作为自己的this值。

控制结构

Node.js支持多种控制结构,用于控制代码的执行流程:

  • 条件语句:如if...else、switch等,用于根据条件执行不同的代码块。
  • 循环语句:如for、while、do...while等,用于重复执行一段代码直到满足特定条件。此外,ES6引入了for...of和for...in循环,分别用于遍历数组(及类数组对象)和对象的属性。
let arr = [6, 5, 4, 3, 2, 1, 0];
for (let i in arr) {
    console.log(i);
    console.log(arr[i]);
}

for (let value of arr) {
    console.log(value);
}

变量

Node.js中提供了三种变量声明方式:

  • var:声明的变量会提升(hoisting)到其作用域的顶部,并且可以被重新声明。
  • let:声明的变量具有块级作用域,不会提升,且在同一作用域内不能重复声明。
  • const:用于声明常量,一旦声明并初始化后,其值就不能被改变。常量也具有块级作用域,且不能在同一作用域内重复声明。

定义一个全局变量

global.$={}

数据类型

Node.js支持多种数据类型,包括:

  • 原始类型:如String(字符串)、Number(数字)、Boolean(布尔值)、Null(空值)、Undefined(未定义)、Symbol(ES6中新增,表示唯一的标识符)。
  • 引用类型:如Object(对象)、Array(数组)等。在Node.js中,对象可以包含属性和方法,而数组是一种特殊的对象,用于存储一系列有序的值。
一个会写python的Java工程师
最后更新于 2024-11-12