T-Node.js基础-day01-Node.js概述、对象、模块

Node.js概述

  • Node.js运行在服务器端的JS解释器,基于谷歌的V8引擎解释器,可以实现服务端操作,例如数据库操作,web服务器的创建。
  1. 对比JS和Node.js区别
    • JS运行在客户端浏览器,存在多款浏览器,代码有兼容性问题;Node.js运行在服务器端,只有一个解释器,代码不存在兼容性问题
    • 两者都有自定义对象和内置对象,不同的宿主对象
    • JS用于浏览器端的交互效果,Node.js用于服务器端操作,例如数据库的操作,web服务器的创建等
    • node.js下载地址
  2. 执行方式
    1. node c:/xxx/../01.js 回车----脚本模式
    2. 进入交互模式:node 回车
      退出交互模式:两次ctrl+c 或者.exit回车
  3. Node.js特点
    1. 简单,避免过度设计
    2. 单线程逻辑处理
    3. 非阻塞的异步I/O处理
    4. 事件驱动编程
    5. 无锁机制,不会产生死锁
    6. 支持数万个并发连接
  4. Node.js适合的搭建以IO操作为主、响应速度块、易于扩展的网络应用:
    1. 命令行工具
    2. 带有GUI界面的本地应用程序
    3. 交互式终端程序
    4. 单元测试工具
    5. 基于社交网络的大规模Web应用
    6. Web Socket服务器
    7. TCP/UDP套接字程序
    8. 客户端Javascript编译器
  5. Node.js不舍和CPU密集型应用
    1. 深层次的嵌套和递归
    2. 复杂加密和解密算法
    3. 高可靠性运算
    4. 严格内存管理
    5. 数据挖掘和数据分析

全局对象-global

  • Node.js:
    在交互模式下创建的函数和声明的变量都是全局global下的,可以使用global访问;例:global.a,global.fn()
    在脚本模式下创建的函数和声明的变量都不是全局global下的,都是局部的(原因在模块中介绍)
  • JS:window
    在JS下创建的函数和声明的变量都是全局下的,可以使用全局对象window来访问;window.a,window.fn()

console对象

  • console.log(1); //输出日志
  • console.info(2);//输出消息
  • console.warn(3);//输出警告
  • console.error(4);//输出错误
  • console.time() 开始计时
  • console.timeEnd() 结束计时
    开始和结束计时打印的内容要保持一致。
    练习:查看循环10000次,for,while,do-while的耗时情况

porcess对象

  • process表示进程的对象
  • process.arch 查看CPU架构
  • process.platform 查看当前操作系统
  • process.version 查看当前nodejs版本号
  • process.env 查看当前环境变量有哪些

buffer对象

  • 缓冲区:在内存中临时存储数据的区域,通常网络传输的数据都是在缓冲区。
  • 创建Buffer
    let buf=Buffer.alloc(5,'abcde');
  • 转为字符串
    buf.toString() String(buf)

模块

  • 就是一个独立的功能体
  • 在Node.js下规定,任意一个文件就是一个模块
  • 分为自定义模块、核心模块、第三方模块
  • Node.js自动为每一个文件添加了一个构造函数
    (function (exports, require, module, __filename, __dirname) {
        //函数体内是程序员自己写的代码
        //require:是一个函数,用于引入另一个模块
        //exports:是导出的对象,如果要导出内容,都是往这个对象中添加
    })
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章