草稿箱

304 阅读4分钟

js

JavaScript被定义为一种浏览器的脚本语言,一直以来其运行环境都是客户端浏览器,因为JavaScript设计的初衷就是做一些浏览器与用户的交互和一些网页的特效来补充HTML和CSS的不足

node

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。

简单点来讲就是Node.js 可以解析和执行JavaScript代码以前只有浏览器可以可以解析执行JavaScript代码,也就是说现在的JavaScript可以完全脱离浏览器来运行,

  • Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 就是异步执行代码

  • Node.js 的包管理器 npm,是全球最大的开源库生态系统

    npm 里面有非常的多包 也可以说是插件 或者 是库 功能

    阻塞/非阻塞
             
        阻塞  ==>  当进程调用一个进行IO操作的API时(比如read函数),在数据没有到达前,read 会挂起,进程会卡住。在数据读取完毕返回给进程时,read 返回(返回值为读取到的字节数,数据从内核拷贝到用户空间),然后进程继续执行。那么这次 read 调用,是阻塞的。
    ​
        非阻塞  ==>  就是 read 在数据没有读取完毕前,就返回了(返回值为-1,errno 设置为 EAGAIN)。此时进程没有拿到需要的数据。那怎么办?
     
        有两种办法。
            一种是同步:因为进程没办法知道数据什么时候才真正读取完毕了,所以需要每隔一段时间就去轮询一下(就是重新调用 read,看是不是数据真的已经读取完毕了)。大部分场景中都不会使用这种方式。但在某些特殊的情况下效率会特别高。
        异步
            发起I/O操作函数 不等得到响应或者超时就立即返回让进程继续执行其他操作;列子 ==> 调用一个进行I/O操作的API请求时(如读写操作),不等待系统内核层面完成所有操作如磁盘寻道,读取数据,复制数据到内存等等就返回
    ​
    返回的仅仅是当前调用状态,想要获取完整数据需要重复去请求判断操作是否完成,造成CPU损耗,基本方法就是轮询
    

下载node

node中文官网 nodejs.cn/

下载对应的安装包 64位 32位 window mac

cmd命令

  • windows

    • window + R 打开 cmd 命令行窗口
    • 输入 node -v 查看node是否安装成功
    • 输入 where node 查看node安装的路径
    • cd 打开文件夹 ../ D: 直接到达D盘
    • ctrl + c 退出环境
  • mac

    • 启动台 - 其他 - 终端
    • command + 空格 进入搜索 输入终端可以找到 其他的就是一样的
  • PowerShell 怕为瘦 与cmd一样 比cmd稍微的强一点

node.exe的运行

node.exe打开 可以输入js代码

node是一个js的运行环境

在安装的位置找到node.exe打开 可以输入js代码

console.log(1)

cmd中 输入node 也可以进入node环境

Node.js 中是不存在的 documentwindow、以及所有其他的对象

建议使用es6的写法

在开发工具中运行代码
  1. 配置全局环境

    1. windows系统基本上下载node就会自动配置全局环境
    2. 设置全局变量 => 打开电脑属性 => 高级系统设置 => 环境变量 => 系统变量 => path => 添加node安装的路径
  2. vscode开发工具

    1. 配置全局环境 直接打开 ctrl + ` 打开终端 node 文件.js 执行
  3. webstrom开发工具使用

    1. 设置全局环境 => file => languages&frameworks => node.js and npm => node initerpreter => node安装的路径
    2. 创建一个js文件 右键点击 点击run + 文件.js
  4. 控制台终止程序的运行

    1. ctrl + c 终止程序

cmd命名

cmd是command的缩写.即命令行

Change Directory
  • cd => Change Directory 打开文件夹

  • cd 文件名 cd / 返回根目录 cd ../ 返回上级目录

    c: 到达c盘根目录 d: 到达d盘根目录

Directory

dir 打印文件内的所有目录

Make Director
  • md => Make Director 创建文件夹
  • md 文件夹名称, 当前目录创建
Remove Directory
  • rd =>Remove Directory 删除文件夹
  • rd 文件夹名称, 只有空子目录(不含文件的)才能被删除; rd 文件夹名/s 就可以删除
创建文件
cd > 2.txt         cd > 文件名.后缀            创建文件
del  2.txt         del  文件名.后缀                      删除文件
​
​
cls 清屏

image.png