当前位置: 首页 > article >正文

javascript 编程基础(2)javascript与Node.js

文章目录

  • 一、Node.js 与 JavaScript
    • 1、基本概念
      • 1.1、JavaScript:动态脚本语言
      • 1.2、Node.js:JavaScript 运行时环境
    • 2、核心区别
    • 3、执行环境差异
      • 3.1、浏览器中的JavaScript
      • 3.2、Node.js中的JavaScript
    • 4、共同点
    • 5、为什么需要Node.js?

一、Node.js 与 JavaScript

1、基本概念

1.1、JavaScript:动态脚本语言

JavaScript 是一种高级的、解释型的编程语言,主要用于:

  • 为网页添加交互功能
  • 操作网页内容(DOM)
  • 处理用户事件
  • 与服务器通信(AJAX)
// 典型的浏览器端JavaScript
document.getElementById('btn').addEventListener('click', () => {alert('按钮被点击!');
});

1.2、Node.js:JavaScript 运行时环境

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,主要特点:

  • 让 JavaScript 能在服务器端运行
  • 提供非阻塞 I/O 和事件驱动架构
  • 包含丰富的内置模块(文件系统、HTTP等)
// 典型的Node.js代码
const http = require('http');
http.createServer((req, res) => {res.end('Hello Node.js!');
}).listen(3000);

2、核心区别

特性JavaScriptNode.js
运行环境浏览器服务器
主要用途前端开发后端开发
API访问浏览器API(DOM,BOM等)系统API(文件、网络等)
模块系统ES6模块(import/export)CommonJS(require)
全局对象windowglobal
典型应用网页交互Web服务器、CLI工具

3、执行环境差异

3.1、浏览器中的JavaScript

  • 受限于浏览器沙箱安全模型
  • 无法直接访问系统资源
  • 依赖浏览器提供的API
  • 主要用于响应用户交互

3.2、Node.js中的JavaScript

  • 可以访问本地文件系统
  • 能创建网络服务
  • 可以执行系统命令
  • 适合I/O密集型应用
// Node.js访问文件系统示例
const fs = require('fs');
fs.readFile('file.txt', 'utf8', (err, data) => {if (err) throw err;console.log(data);
});

4、共同点

尽管有上述区别,两者共享:

  • 相同的语言语法
  • 相同的数据类型
  • 相同的核心语言特性
  • 事件驱动编程模型

5、为什么需要Node.js?

  • 统一语言:前后端都使用JavaScript,降低学习成本
  • 高性能:非阻塞I/O适合高并发场景
  • 丰富的生态:npm拥有最大规模的包管理系统
  • 开发效率:代码复用和共享更方便

现代Web开发中,两者通常配合使用,JavaScript处理客户端逻辑,Node.js处理后端服务,共同构成完整的JavaScript全栈解决方案。

相关文章:

javascript 编程基础(2)javascript与Node.js

文章目录 一、Node.js 与 JavaScript1、基本概念1.1、JavaScript:动态脚本语言1.2、Node.js:JavaScript 运行时环境 2、核心区别3、执行环境差异3.1、浏览器中的JavaScript3.2、Node.js中的JavaScript 4、共同点5、为什么需要Node.js? 一、No…...

Spring Boot 集成 druid,实现 SQL 监控

文章目录 背景Druid 简介监控统计 StateFilter其它 Filter详细步骤第 1 步:添加依赖第 2 步:添加数据源配置【通用部分】第 3 步:添加监控配置【关键部分】第 3 步:访问 druid 页面参考背景 😂 在 Code Review 过程中发现,经常有开发会忘记给表加索引。这就导致,生产运…...

多卡跑ollama run deepseek-r1

# 设置环境变量并启动模型 export CUDA_VISIBLE_DEVICES0,1,2,3 export OLLAMA_SCHED_SPREAD1 # 启用多卡负载均衡 ollama run deepseek-r1:32b 若 deepseek-r1:32b 的显存需求未超过单卡容量(如单卡 24GB),Ollama 不会自动启用多卡 在run…...

HTML向四周扩散背景

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>扩散背景效果</title><style>body {…...

基于Java在高德地图面查询检索中使用WGS84坐标的一种方法-以某商场的POI数据检索为例

前言 随着移动互联网的飞速发展&#xff0c;基于位置的服务&#xff08;LBS&#xff09;需求日益增长&#xff0c;越来越多的应用需要从地图中检索特定区域内的地理信息&#xff0c;例如商业场所、公共服务设施等。商场作为城市商业活动的重要载体&#xff0c;其周边的地理信息…...

使用 Terraform 创建 Azure Databricks

使用 Terraform 创建 Azure Databricks Terraform 是一种基础设施即代码(IaC)工具,允许用户通过声明式配置文件来管理和部署云资源。Azure Databricks 是一个基于 Apache Spark 的分析平台,专为数据工程和数据科学设计。通过 Terraform,可以自动化 Azure Databricks 的创…...

本地部署dify+ragflow+deepseek ,结合小模型实现故障预测,并结合本地知识库和大模型给出维修建议

1.准备工作 使用ollama 拉取deepseek-r1:7b 官网下载ollama ollama run deepseek-r1:7b ollama list Ragflow专注于构建基于检索增强生成&#xff08;RAG&#xff09;的工作流&#xff0c;强调模块化和轻量化&#xff0c;适合处理复杂文档格式和需要高精度检索的场景。Dify…...

SECERN AI提出3D生成方法SVAD!单张图像合成超逼真3D Avatar!

SECERN AI提出的3D生成方法SVAD通过视频扩散生成合成训练数据&#xff0c;利用身份保留和图像恢复模块对其进行增强&#xff0c;并利用这些经过优化的数据来训练3DGS虚拟形象。SVAD在新的姿态和视角下保持身份一致性和精细细节方面优于现有最先进&#xff08;SOTA&#xff09;的…...

深入探索:Core Web Vitals 进阶优化与新兴指标

一、INP&#xff08;Interaction to Next Paint&#xff09;深度解析 INP 与 FID 的核心差异 • 响应范围&#xff1a;FID仅测量首次输入延迟&#xff0c;而INP跟踪页面生命周期中所有关键交互 • 测量维度&#xff1a;INP综合考虑输入延迟、处理时间和下一帧渲染时间 • 评…...

c/c++的opencv开闭操作

OpenCV 中的形态学开运算与闭运算 (C) 在计算机视觉和图像处理领域&#xff0c;形态学操作是用于分析和处理图像形状的一系列非线性操作。OpenCV 作为一个强大的开源计算机视觉库&#xff0c;提供了丰富的形态学转换函数。其中&#xff0c;“开运算”&#xff08;Opening&…...

【物联网】 ubantu20.04 搭建L2TP服务器

部署篇 序言 为了是两个客户端在同一个网络内&#xff0c;需要找一台服务器&#xff0c;搭建一个L2TP服务器&#xff0c;通过L2TP使两个客户端在同一个网络内,为什么要搭建&#xff0c;主要是解决例如员工出差后&#xff0c;还需要连接公司内网资源的问题&#xff0c;本文主要…...

winrar 工具测试 下载 与安装

https://zhuanlan.zhihu.com/p/680852417 https://www.angusj.com/resourcehacker/#download 点击String Table&#xff0c;在展开列表中找到80:2052展开&#xff0c;删除1277行。点击右上方编译按钮&#xff0c;并保存。...

PLC组网的方法、要点及实施全解析

一、PLC组网方法 1.1 基于以太网的组网 - 适用场景&#xff1a;适用于数据传输量大、通信距离长、对实时性要求相对不苛刻的场景&#xff0c;如大型工厂的车间级数据交互、跨区域设备协同控制 。 - 实现方式&#xff1a;利用工业以太网交换机&#xff0c;将支持以太网接口的…...

网络安全深度解析:21种常见网站漏洞及防御指南

一、高危漏洞TOP 10 1. SQL注入(SQLi) 原理:通过构造恶意SQL语句突破系统过滤机制 典型场景: - 联合查询注入: union select 1,version(),3--+ - 布尔盲注:and (select substr(user(),1,1)=r) - 时间盲注:;if(now()=sysdate(),sleep(5),0)/ 防御方案: - 严格参数化查…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit (3)

1.问题描述&#xff1a; 通过CardRecognition识别身份证拍照拿到的照片地址&#xff0c;使用该方法获取不到图片文件&#xff0c;请问如何解决&#xff1f; 解决方案&#xff1a; //卡证识别实现页&#xff0c;文件名为CardDemoPage&#xff0c;需被引入至入口页 import { …...

Java大厂面试实战:Spring Boot与微服务场景中的技术点解析

Java大厂面试实战&#xff1a;Spring Boot与微服务场景中的技术点解析 第一轮&#xff1a;基础技术了解 面试官&#xff1a;谢飞机&#xff0c;你好。从简历上看&#xff0c;你熟悉Spring Boot&#xff0c;那我们来聊聊它的核心功能吧。Spring Boot有哪些主要的特性&#xff…...

从零启动 Elasticsearch

elastic 有弹力的 ElaticSearch &#xff08;ES&#xff09;是一个基于 Lucene 的分布式全文检索引擎。可以做到近乎实时地存储、检索数据&#xff0c;并且本身具有良好的扩展性&#xff0c;可以扩展到上百台服务器&#xff0c;处理PB级别&#xff08;1 Petabyte 1024TB&…...

比较两个用于手写体识别的卷积神经网络(CNN)模型

要比较两个用于手写体识别的卷积神经网络(CNN)模型,可以从以下 ‌6个核心维度‌ 进行系统性评估,并直接给出对比结论: ‌一、基础性能对比(核心指标)‌ ‌准确率‌ 直接比较两个模型在 ‌相同测试集‌ 上的分类准确率(如MNIST测试集的错误率是否低于0.5%)若准确率接近…...

Linux利用多线程和线程同步实现一个简单的聊天服务器

1. 概述 本文实现一个基于TCP/IP的简单多人聊天室程序。它包含一个服务器端和一个客户端&#xff1a;服务器能够接收多个客户端的连接&#xff0c;并将任何一个客户端发来的消息广播给所有其他连接的客户端&#xff1b;客户端则可以连接到服务器&#xff0c;发送消息并接收来自…...

【计网】作业5

待补充 212.56.132.0/24 212.56.1000 0100.0 212.56.133.0/24 212.56.1000 0101.0 212.56.134.0/24 212.56.1000 0110.0 212.56.135.0/24 212.56.1000 0111.0 最小的212.56.1000 0100.0 四个&#xff0c;2^2 212.56.132.0/22 1111 1111.1111 1111.1111 1100.0000 0000 255.255.…...

15、Python布尔逻辑全解析:运算符优先级、短路特性与实战避坑指南

适合人群&#xff1a;零基础自学者 | 编程小白快速入门 阅读时长&#xff1a;约6分钟 文章目录 一、问题&#xff1a;Python布尔值的底层原理?1、例子1&#xff1a;电路开关模型解析布尔本质2、例子2&#xff1a;特殊的布尔类型值为False3、答案&#xff1a;&#xff08;1&…...

Nginx基础知识

Nginx是什么&#xff1f; Nginx 是一款高性能的 Web 服务器、反向代理服务器和负载均衡器&#xff0c;以其高并发处理能力和低内存消耗著称。以下是 Nginx 的基础知识和常见配置示例&#xff1a; 1. 核心概念 • 配置文件位置&#xff1a;通常为 /etc/nginx/nginx.conf 或 /us…...

Vue-监听属性

监听属性 简单监听 点击切换名字&#xff0c;来回变更Tom/Jerry&#xff0c;输出 你好&#xff0c;Tom/Jerry 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>监听属性</title><!-- …...

python fastapi + react, 写一个图片 app

1. 起因&#xff0c; 目的: 上厕所的时候&#xff0c;想用手机查看电脑上的图片&#xff0c;但是又不想点击下载。此app 应运而生。 2. 先看效果 单击图片&#xff0c;能放大图片 3. 过程: 过程很枯燥。有时候&#xff0c; 有一堆新的想法。 但是做起来太麻烦&#xff0c;…...

nginx集成防火墙ngx_waf的docker版

由于公网的环境越来与严峻&#xff0c;所以想找一个nginx带防火墙的版本 调研过openresty&#xff0c;大部分集成redis了&#xff0c;感觉还是太重了&#xff0c;有一个不那么重的https://github.com/unixhot/waf 但是维护没有那么勤&#xff0c;最后维护是5年前&#xff0c;倒…...

vscode c++编译onnxruntime cuda 出现的问题

问题描述 将onnx的dll文件和lib文件copy到可执行文件所在文件夹下后&#xff0c;现象&#xff1a; 双击可执行文件能正常运行 在vscode中点击cmake插件的运行按钮出现报错为 c [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 “” when trying to load尝试…...

sts下载安装

windows下STS&#xff08;Spring Tools Suite&#xff0c;自带spring插件的eclipse&#xff09;的下载与安装_sts下载-CSDN博客Spring Boot安装与配置教程_spring boot安装配置-CSDN博客...

中服云生产线自动化智能化调度生产系统:打造智能制造新标杆

前言 在当今制造业竞争日益激烈的背景下&#xff0c;实现生产线的自动化与智能化已成为企业提升竞争力的关键。作为国内技术领先的工业物联网平台、数字孪生、自动控制技术厂商&#xff0c;中服云凭借其深厚的技术积累和创新能力&#xff0c;打造了一套完整的生产线自动化智能…...

next.js实现项目搭建

一、创建 Next.js 项目的步骤 1、安装 npx create-next-applatest # 或 yarn create next-app # 或 pnpm create next-app 按照交互式提示配置你的项目&#xff1a; 输入项目名称 选择是否使用 TypeScript 选择是否启用 ESLint 选择是否启用 Tailwind CSS 选择是否使用 s…...

Redisson 四大核心机制实现原理详解

一、可重入锁&#xff08;Reentrant Lock&#xff09; 可重入锁是什么&#xff1f; 通俗定义 可重入锁类似于一把“智能锁”&#xff0c;它能识别当前的锁持有者是否是当前线程&#xff1a; 如果是&#xff0c;则允许线程重复获取锁&#xff08;重入&#xff09;&#xff0c;并…...