NodeJS第一章 概述、全局对象、模块 (附带详细源码!!!)

本文介绍了Node.js作为服务器端JS运行环境的优势,如单一V8引擎避免了兼容性问题。讲解了全局对象中的console、global、process和buffer对象,以及如何使用模块系统。此外,还提到了JSON文件的特性和用途,并引用了一句警示名言关于细节决定成败。

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

目录

一、Node.js

二、全局对象

三、模块

四、json文件:

每日一句


一、Node.js

        JS运行在服务器端的开发环境


  1. 对比JS

    1. JS运行在浏览器,存在多种解释器,存在代码兼容性问题;Node.js运行在服务器端,只有一种解释器V8引擎,不存在代码兼容性问题

    2.  两者都有共同的内置对象和自定义对象,不同的宿主对象

    3. JS用于开发浏览器端用户交互效果,Node.js用于服务器端开发,例如:操作数据库、调用其它服务器

  2. 网址 : www.nodejs.cn   官网 
  3. 运行方式
    1. 脚本模式 node ---- 拖拽文件    回车
    2. 交互模式
      1. node      进入交互模式
      2. 两次ctrl+c   或者  一次ctrl+d    退出交互模式
  4. 特点:默认单线程运行

二、全局对象

  1. console对象
    1. console.log(1)  //打印日志
    2. console.info(2)  //打印消息
    3. console.warn(3)  //打印警告
    4. console.error(4)  //打印错误
    5. console.time()  //开始计时
    6. console.timeEnd()   //结束计时  注意事项:开始计时和结束计时的值要保持一致。
  2. global对象
    1. 用于检测一个变量(函数)是否为全局
    2.  Node.js下,每一个JS文件都是在一个作用域下,里边的变量和函数都是局部的,可以防止全局污染。 —— global
    3. JS下,每一个JS文件都是在全局作用域下,里边的变量和函数都是全局的,存在全局污染 —— window
  3. process对象
    1. 进程对象用于了解Node.js进程
    2. 进程:电脑上启动的软件都代表一个进程,每个进程都会占用相应的资源(内存、CPU..)
    3. process.arch    //查看当前CPU架构
    4. process.platform   //查看当前的操作系统
    5. process.pid     //查看当前的进程编号,是一个随机分配的数字
    6.  process.kill()   //结束指定编号的进程
  4. buffer对象
    1. 缓冲区,是内存中的一块区域,用于临时存数据
    2. var buf=Buffer.alloc(5, 'ab涛')  // 创建buffer,分配空间大小并存储字符,单位是字节,每个汉字占3个字节
    3. buf.toString()   //假设存的是字符串,可以转字符串

三、模块

每一个模块都是一个独立功能体,每个文件就是一个模块

  1. 全局对象
    1. module.exports  //模块暴露的对象,默认是一个空对象,要暴露哪些内容,只需要放入到这个对象
    2. require()  //是一个函数,用于引入其它模块,得到暴露的对象
    3. __dirname   //  获取当前模块的绝对路径
    4. __filename    //获取当前模块的绝对路径+模块名称
  2. 模块的分类
    1. 分为自定义模块、核心模块、第三方模块
    2. 文件模块
      1. require('./circle.js')  //用于引入自定义模块
    3. 目录模块
      1. require('./02_hao')    //首先会到目录下查找package.json中main对应的文件,如果找不到会自动去查找index.js
      2. require('hao')    //首先会到当前目录下的node_modules目录中寻找hao目录,如果找不到会不断往上一级的node_modules目录中寻找hao目录,用于引入第三方模块

四、json文件:

        是一种数据类型文件,通常只能放数组和对象,对象中的属性名必须用双引号,属性值是字符串必须用双引号。

每日一句

千丈之堤,以蝼蚁之穴溃;百尺之室,以突隙之烟焚。

        "千里大堤,因为有蝼蚁在打洞,可能会因此而塌掉决堤;百尺高楼,可能因为烟囱的缝隙冒出火星引起火灾而焚毁。"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张的俊.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值