首页 > 编程语言 >什么是Node.js?

什么是Node.js?

时间:2024-09-21 22:20:22浏览次数:3  
标签:Node 内置 浏览器 什么 JavaScript js API

为什么JavaScript可以在浏览器中被执行?
  • 在浏览器中我们加载了一些待执行JS代码,这些字符串要当中一个代码去执行,是因为浏览器中有JavaScript的解析引擎,它的存在我们的代码才能被执行。

  • 不同的浏览器使用不同的javaScript解析引擎

    Chrome浏览器=> V8
    Firefox浏览器=> OdinMonkey (奥丁猴)
    Safri 浏览器=> JSCore
    IE 浏览器=> Chakra(查克拉)

    其中,chrome浏览器的V8解析引擎性能最好!

为什么JavaScript可以操作DOM和BOM?
  • 浏览器提供了很多的内置的API,DOM API、BOM API、AJAX API,我们程序员基于这些浏览器提供的内置API来编写出一些待执行的JavaScript代码,在这些javaScript代码中我们可以调用这些内置的Web API,然后我们可以把这些待执行的代码,交给我们的JavaScript解析引擎,来进行执行。

    在这里插入图片描述

    每个浏览器都内置了 DOM、BOM这样的API函数,因此,浏览器中的JavaScript 才可以调用它们。如果浏览器没有内置这些函数,那么javaScript就不能操作这些元素。

浏览器中的JavaScript运行环境

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

    运行JavaScript代码需要有浏览器,浏览器里面必须要有javaScript解析引擎,以Chrome浏览器为例,它里面使用的是V8引擎,然后浏览器必须内置API,比如DOM、BOM、Canvas、XMLHttpRequest、Js内置对象。这样我们就可以通过JavaScript代码调用内置API,我们编写完的代码就可以通过V8引擎解析执行。

    总结:我们的js代码运行离不开,javaScript解析引擎和浏览器内置API。

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

JavaScript能否做后端开发?

  • 可以做后端开发的语言常见Java、Python、PHP。JavaScript也可以做后端,但是必须借助一个Node.js,也就是说我们不能单独使用JavaScript去做后端。
  • JavaScript单纯是一个语言,这门语言编写的代码想要去执行,就离不开一个执行环境,如果我们把JavaScript跑到浏览器中,浏览器本身就是一个运行环境,javaScript代码就可以在浏览器中做前端开发
  • 同时如果我们把写的代码运行在Node.js中,这个Node.js它也是一个运行环境,它是一个后端的运行环境,依赖于Node.js我们就可以去使用它做后端开发。

什么是Node.js?

  • Node.js是一个基于Chrome V8引擎的JavaScript后端运行环境。

  • Node.js官网地址:https://nodejs.org/zh-cn/

Node.js中的JavaScript运行环境和Chrome中运行环境的比较

  1. 环境:Node.js是一个基于V8引擎的服务器端JavaScript运行环境,而Chrome浏览器是一个客户端浏览器。Node.js提供了一些额外的功能和API,如文件系统访问、网络通信等,而浏览器则提供了与DOM相关的API。

  2. 全局对象:Node.js和浏览器中的全局对象有所不同。在Node.js中,全局对象是global,而在浏览器中,全局对象是window

  3. 模块系统:Node.js使用CommonJS模块系统,通过requiremodule.exports来导入和导出模块。而浏览器使用ES6模块系统,通过importexport来实现模块化。

  4. 文件系统访问:Node.js可以直接访问文件系统,可以读取、写入文件等操作,而浏览器由于安全性考虑,通常无法直接访问本地文件系统。

  5. 网络通信:Node.js可以进行网络通信,可以创建服务器、客户端等,而浏览器也可以进行网络通信,但受到跨域限制。

  6. 内置API:Node.js是一个基于V8引擎的服务器端JavaScript运行环境,它提供了一系列用于处理文件系统、网络通信、操作系统等功能的内置API,如fs模块、http模块等。这些API主要用于服务器端开发,与操作系统进行交互。而Chrome浏览器内置的API主要是Web API,用于操作DOM、处理事件、进行网络请求等,主要用于前端开发。例如,浏览器提供了document对象、XMLHttpRequest对象等用于操作网页内容和进行网络通信。

    在这里插入图片描述

    注意:

    • 浏览器是JavaScript的前端运行环境。
    • Node.js是JavaScript的后端运行环境
    • Node.js中无法调用DOM和BOM等浏览器内置API
Node.js可以做什么?

Node,js 作为一个JavaScript 的运行环境,仅仅提供了基础的功能和 API。然而,基于 Node.js 提供的这些基础能,很多强大的工具和框架如雨后春笋,层出不穷,学会了 Node.js,能干以下工作:

  1. 基于Express 框架(http://www.expressjs.com.cn/),可以快速构建 Web 应用
  2. 基于Electron 框架(https://electronis.org/),可以构建跨平台的桌面应用
  3. 基于restify框架(http://restify.com/),可以快速构建API 接口项目
  4. 读写和操作数据库、创建实用的命令行工具辅助前端开发…
补充:

‌Node.js的JavaScript运行环境‌,它允许开发者在服务器端运行JavaScript代码。Node.js采用事件驱动和非阻塞I/O模型,这使得它能够处理大量的并发连接,非常适合构建高性能的网络应用。‌

Node.js的核心机制:Node.js通过事件循环来处理并发操作,避免了额外的线程开销,从而提高了性能。它利用V8引擎执行JavaScript代码,这使得JavaScript可以在服务器端高效运行。

Node.js的应用场景和优势:Node.js非常适合构建‌实时应用、‌API服务器、‌等数据密集型应用。它的非阻塞I/O模型使得它能够处理成千上万的并发连接,非常适合微服务和云计算环境。

标签:Node,内置,浏览器,什么,JavaScript,js,API
From: https://blog.csdn.net/qq_64039411/article/details/142425483

相关文章

  • node.js安装与npm镜像源切换
    下载nvm点击进入nvmgit仓库下载nvmwindows用户点击exe文件进行下载。下载完毕之后点击安装包进行安装检查是否安装成功打开windows控制栏输入nvm-v检查是否安装成功使用nvm下载node.js打开控制栏输入nvminstalllatest安装当前node......
  • kimi智能助手1.4.5,2024-09-21,什么是大语言模型(LLM)?
    大语言模型(LargeLanguageModels,简称LLM)是指通过深度学习技术训练出的、具有大量参数的语言处理模型。这些模型通常使用大量的文本数据进行训练,以学习语言的模式和结构,从而能够理解和生成自然语言。大语言模型的特点包括:参数众多:大语言模型通常拥有数十亿甚至数千亿个参数,这......
  • 基于nodejs+vue的饮食健康蔬果管理系统的设计与实现(源码+LW+调试文档+讲解等)
    博主介绍: ......
  • 讯飞星火大语言模型,2024-09-21,什么是提示词(prompt)?
    prompt是一种在人工智能领域中用于指导模型生成特定输出的输入文本或指令。以下是对它的详细介绍:基本概念:prompt是指向AI模型提供输入以引导其生成特定输出的文本或指令。它的目的是引导模型产生所需的回应,以便更好地控制生成的输出[1]。历史起源:prompt这个词源自拉丁语“promp......
  • 文心一言,文心大模型4.0 Turbo,2024-09-21,什么是提示工程(prompt engineering)?
    PromptEngineering,即提示工程,是自然语言处理(NLP)领域中的一个重要概念,它指的是通过设计精心构造的提示(prompt)或输入,来引导大型语言模型生成特定类型的输出。这个技术背后的原理是利用模型对输入的敏感性,通过提供特定格式或内容的提示,引导模型生成符合预期的输出。一、定义与原理......
  • 【已解决 含代码调试分析】pytorch的维度,为什么计算loss是0维度的,0维度是是什么?作用是
    嘿,你能搜索到这个问题,说明你说一个认真学习的同学,这个问题的细节值得思考。欢迎收藏,会持续更新。请仔细看后面的调试界面。三维维度很好理解,就是只管的认为是长宽高,你能看出下面的计算结果吗?importtorchdim_3=torch.randn(1,2,3)dim_2=torch.randn(1,2)dim_1......
  • DNS是什么?怎么设置
    NS是什么意思?有什么用呢?专业的说DNS就是域名系统(DomainNameSystem)的简称,也就是IT人士常说的域名解析系统。主要是让用户在互联网上通过域名找到域名对应的IP地址,因为IP地址都是一串数字(例如:192.168.0.1)不方便记忆,便诞生了域名,将域名和IP地址捆绑在一起,人们在访问域名......
  • 【EasyBlog】基于React+AntD+NextJS+NestJS+MySQL打造的开源博客系统
    Github项目地址:https://github.com/fecommunity/easy-blog,欢迎Star。Easy-BlogEasy-Blog是一套集成文章发表、页面创建、知识库管理、博客后台管理等功能于一体的博客系统。首页-浅色主题首页-暗黑主题文章阅读后台管理✨特性......
  • 基于jsp驾校报名管理系统的计算机毕设源码+论文
    摘 要随着计算机技术的飞速发展,驾校也已进入信息化时代。为了使驾校管理更高效、更科学,决定开发驾校信息管理系统。本文采用结构化分析的方法,详细阐述了一个功能比较强大的驾校信息管理系统的前后台开发、操作流程和涉及的一些关键技术。首先进行了可行性分析,然后是系统分析,通过......
  • Win10 安装Node.js 以及 Vue项目的创建
    一、Node.js和Vue介绍1.Node.jsNode.js 是一个基于ChromeV8引擎的JavaScript运行环境。它允许你在服务器端运行JavaScript,使得你能够使用JavaScript来编写后端代码。以下是Node.js的一些关键特点:事件驱动和非阻塞I/O:Node.js使用事件驱动模型和非阻塞I/O操......