初识Nodejs -- nodejs简介

news2024/11/30 0:39:05

视频链接:黑马程序员Node.js全套入门教程

文章目录

  • 1. 初识Nodejs
    • 1.1 思考
      • 为什么JavaScript可以在浏览器中被执行
      • 为什么JavaScript可以操作DOM和BOM?
      • 浏览器中的JavaScript运行环境
    • 1.2 Nodejs简介
      • 1.2.1 Nodejs中的JavaScript运行环境
      • 1.2.2 Node.js可以做什么
      • 1.2.3 Nodejs的学习路径
      • 1.2.4 Hello World
      • 1.2.5 终端中的快捷键

1. 初识Nodejs

1.1 思考

为什么JavaScript可以在浏览器中被执行

image-20221122132042427

JavaScript解析引擎可以将JavaScript进行解析,交由浏览器执行,不同的浏览器使用不用的解析引擎

浏览器引擎
ChromeV8
FireFoxOdinMonkey(奥丁猴)
SafriJSCore
IEChakra(查卡拉)

其中,V8解析引擎性能最好

为什么JavaScript可以操作DOM和BOM?

因为每个浏览器都内置了DOM、BOM、Ajax这样的API函数,因此,浏览器中的JavaScript才可以操作他们

image-20221122132410122

浏览器中的JavaScript运行环境

运行环境是指代码正常运行所需的必要环境

  • V8引擎负责解析和执行JavaScript代码
  • 内置API是由运行环境提供的特殊接口,只能在所属的运行环境中被调用

image-20221122132655760

1.2 Nodejs简介

nodejs官网

Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine

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

如果将js代码放到浏览器执行说明是在做前端开发,放到nodejs中运行说明在做后端开发

1.2.1 Nodejs中的JavaScript运行环境

  • 浏览器是JavaScript的前端运行环境
  • Node.js是JavaScript的后端运行环境
  • Node.js无法调用DOM和BOM等浏览器内置API

image-20221122133311329

1.2.2 Node.js可以做什么

Node.js作为一个JavaScript的运行环境,仅仅提供了基础的功能和API,但是基于Nodejs提供的这些基础能力,出现了很多强大的工具和框架

  • 基于Express框架,可以快速构建Web应用
  • 基于Electron框架,可以快速构建跨平台的桌面应用
  • 基于restify框架,可以快速构建API接口项目
  • 读写和操作数据库。创建使用的命令行工具辅助前端开发、etc…

总之:Nodejs是大前端时代的大宝剑

1.2.3 Nodejs的学习路径

JavaScript基础语法 -> Nodejs内置API模块(fs、path、http等) -> 第三方API模块(express、 Mysql)

1.2.4 Hello World

创建helloWorld.js文件,输入下列代码

console.log("Hello world")

然后打开终端cd到js文件的目录下,使用node helloWorld.js运行,即可看到效果

image-20221122134746395

1.2.5 终端中的快捷键

在windows的power shell和cmd终端中,可以使用下面这些快捷键,来提高操作终端的效率

  1. 使用 ↑ \uparrow ,可以快速定位到上一次执行的命令
  2. 使用tab键,能够快速清空当前已经输入的命令
  3. 使用esc键,能够快速清空当前已经输入的命令
  4. 使用cls命令,可以清空终端

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

元数据管理-解决方案调研三:元数据管理解决方案——开源解决方案

开源解决方案 3.1、Apache Atlas Atlas 是一组可扩展和可扩展的核心基础治理服务——使企业能够有效和高效地满足其在 Hadoop 中的合规性要求,并允许与整个企业数据生态系统集成。 Apache Atlas 为组织提供开放的元数据管理和治理功能,以构建其数据资产…

没有公网IP,怎么远程访问ERP/NAS?

当前,国内疫情形势不容乐观,企业的经营发展再一次面临巨大挑战。虽然“远程办公”早已不是新鲜词,但依然有大量企业没有做好随时切换到远程办公的准备。如遇疫情风险,企业运营很容易陷入瘫痪。 企业一般在内网部署服务器、视频监…

2分钟看懂OA与ERP

ERP (Enterprise Resource Planning)即企业资源计划,最早是一种供应链的管理思想。它汇合了商贸代理行业的各项特点,旨在协调企业各管理部门围绕市场导向,更加灵活或柔性地开展业务活动,实时地响应市场需求。 从功能来看&#xf…

AVL树左旋转算法思路与图解

AVL树左旋转算法思路与图解 对于数列{4, 3, 6, 5, 7, 8}, 当我们插入8的时候, rightHeight() - leftHeight() > 1成立(也就是当前AVL树中的根节点的BF(平衡因子)> 1了), 此时这个AVL树已经不再是平衡的了, 也就是已经不是一个AVL树了, 所以我们要经过处理之后让其重新平…

【C】输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数

C语言没有字符串形式&#xff0c;所以可以用 char[] 数组来代替&#xff0c;但需要指定分配空间&#xff0c;所以可以采用单字符读取的形式&#xff1a; #include<stdio.h> int main(){char ch;int space0,number0,character0,other0;chgetchar(); …

WSO2安装使用的全过程详解

WSO2安装使用的全过程详解1. Install1.1 Docker Install 1.2 Uninstall2. User Guide3. Big Data -- Postgres4. Awakening1. Install 1.1 Docker Install 显示镜像 docker images/docker image ls拉去镜像/版本 docker pull wso2/wso2am 1.2 Uninstall 查看正在运行的容器 d…

流体动力润滑(轴承油膜承载机理)

目录 1.流体动力润滑 2.流体动力润滑的应用&#xff1a;楔形效应承载机理 3.承载量的计算 4.轴承动压油膜 1.流体动力润滑 定义&#xff1a;两个相对运动物体的摩擦表面&#xff0c;用于借助相对速度而产生的黏性流体膜将两摩擦面完全隔离开&#xff0c;由流体膜产生的压力…

那些下载不了的视频,Python只用1行代码就能直接下载

前言 现在有很多网站都并不支持直接下载的&#xff0c;例如我们常去的B站里面的视频&#xff0c;在页面是没有下载按钮的&#xff0c;还有的视频需要我们下载客户端才能下载…虽然这并不能拦住多少人&#xff0c;有些聪明的小伙伴就会去下载一些第三方软件去下载&#xff0c;比…

apache-atlas-hbase-bridge-源码分析

元数据类型 Hbase元数据类型, 包括命令空间、表、列族、列 public enum HBaseDataTypes {// ClassesHBASE_NAMESPACE,HBASE_TABLE,HBASE_COLUMN_FAMILY,HBASE_COLUMN;public String getName() {return name().toLowerCase();} }Hbase元数据采集实现 1&#xff09;批量采集HBa…

MyBatis基于XML的使用——缓存

1、介绍 MyBatis 内置了一个强大的事务性查询缓存机制&#xff0c;它可以非常方便地 配置和定制。 为了使它更加强大而且易于配置&#xff0c;我们对 MyBatis 3 中的缓存实现进行了许多改进。 默认情况下&#xff0c;只启用了本地的会话缓存&#xff0c;它仅仅对一个会话中的数…

【Java】异常处理

异常本质上是程序上的错误&#xff0c;包括程序逻辑错误和系统错误。比如使用空的引用、数组下标越界、内存溢出错误等. 错误在我们编写程序的过程中会经常发生&#xff0c;包括编译期间和运行期间的错误&#xff0c;在编译期间出现的错误有编译器帮助我们一起修正&#xff0c;…

使用java代码向mysql数据库插入100万条数据

使用java代码向mysql数据库插入100万条数据 使用springboot集成Mysql数据库&#xff0c;并使用java代码循环向msql数据库插入100万条数据&#xff0c;并测试插入时间 目录结构使用java代码向mysql数据库插入100万条数据一、使用工具二、项目结构图创建springboot项目启动类创建…

高并发-防止雪崩与穿透

一、DB查询前加锁 /** * 本地堆内缓存&#xff0c;优先级最高 */ ON_HEAP(1), /** * 本地堆外缓存&#xff0c;不影响GC&#xff0c;可以管理比堆内缓存更多的数据 * 数据get/set涉及序列化&#xff0c;性能次于本地堆内缓存 */ OFF_HE…

手撕红黑树

目录 一、概念 二、红黑树的插入操作 第一步: 按照二叉搜索树的规则插入新节点 第二步: 插入后检测性质是否造到破坏&#xff0c;若遭到破坏则进行调整 情况一: cur为红&#xff0c;parent为红&#xff0c;grandfather为黑&#xff0c;uncle存在且为红 情况二: cur为红&a…

JLink 添加新设备用于下载/调试固件

新驱动的安装目录结构如下&#xff1a; 可以看出新版本的 JLink 驱动中已经没有 Devices 目录和 JLinkDevices.xml 文件了&#xff0c;即旧的方法已经不能在新的驱动中使用了。 如果需要继续使用旧的方式添加新设备&#xff0c;则需要下载 JLink_V770d 之前的版本。 在新驱动…

若依框架解读(微服务版)—— 4.认证,登出(Gateway网关)

认证 我们可以查看token值 我们进入授权中心&#xff0c;这里其他的解析解析token的步骤与上一篇文章中的生成token是逆操作&#xff0c;也比较简单。我们进入ignoreWhite.getWhites()方法 此处的两个注解是获取nacos当中的白名单&#xff0c;我们打开nacos&#xff0c;进入网关…

Shell程序退出状态码的命令详解

在本篇文章当中主要给大家介绍了一些常见的程序退出的状态码&#xff01;并且给出一下例子帮助大家仔细理解&#xff0c;并且使用C语言和python语言实现获取子进程退出时候的退出状态码。 程序退出状态码 前言 在本篇文章当中主要给大家介绍一个shell的小知识——状态码。这是…

Object.defineProperty用法

Object.defineProperty() 定义新属性和修改原有的属性 Object.defineProperty( obj&#xff0c;prop,descriptor) 翻译&#xff1a;对象.定义属性&#xff08;对象&#xff0c;属性名必须是字符写法&#xff0c;{ value:所有 }&#xff09; 创建一个对象&#xff1a; var o…

OSI七层参考模型和TCP/IP四层(五层)参考模型

OSI七层参考模型 OSI&#xff08;OSI&#xff0c;Open System Interconnection&#xff09;七层模型&#xff0c;是参考模型是国际标准化组织&#xff08;ISO&#xff09;制定的一个用于计算机或通信系统间互联的标准体系。它是一个七层的、抽象的模型体&#xff0c;不仅…

泰勒展开式

泰勒展开式 文章目录泰勒展开式简介定义近似举例推导理解参考简介 泰勒公式&#xff0c;也称泰勒展开式&#xff0c;可以用来在局部范围内近似复杂函数。 通俗的讲&#xff1a; 设有一个复杂的未知函数f(x)f(x)f(x)&#xff0c;我们想要知道它在某个范围[a,b][a,b][a,b]内的值…