【Java Web学习 | 第八篇】JavaScript(2) 基础知识2

【Java Web学习 | 第八篇】JavaScript(2) 基础知识2

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程”

在这里插入图片描述

文章目录

JavaScript 运算符与流程控制全解析

在 JavaScript 中,运算符和流程控制是实现逻辑处理的基础。本文在前文基础上补充for循环内容,全面讲解比较运算符、逻辑运算符、条件判断语句(if、switch)及循环语句(while、for),帮助你掌握 JavaScript 的逻辑构建能力。

一、运算符:自增、比较与逻辑🥝

1. 自增运算符(++)

自增运算符分为前缀(++i)和后缀(i++),核心区别在于返回值时机:

  • 后缀自增(i++):先返回当前值,再自增
  • 前缀自增(++i):先自增,再返回新值
let i =1; console.log(i+++++i + i);// 结果为7// 解析:// 1. i++ 先返回1,i变为2// 2. ++i 先自增为3,返回3// 3. 此时i=3,总和:1+3+3=7

2. 比较运算符

用于判断值的关系,返回布尔值,需重点区分=====

运算符特点示例结果
==只比较值(隐式转换类型)2 == "2"true(字符串转数字)
===比较值和类型(无转换)2 === "2"false(类型不同)
!=只比较值不相等2 != "2"false(值相等)
!==比较值或类型不相等2 !== "2"true(类型不同)

特殊规则

  • 字符串按字符编码比较(如"a" < "b"true
  • NaN与任何值比较都返回false(包括自身)
console.log(2=="2");// true(隐式转换) console.log(2==="2");// false(类型不同) console.log("aabgg"<"bzzzz");// true(首字符"a"<"b")

3. 逻辑运算符

组合多个条件判断,返回布尔值:

运算符描述示例结果
&&逻辑与(两边都真才真)3<5 && 3<9true
两条竖线(打不出来)逻辑或(至少一边真则真)3<5 两条竖线 3>100true
!逻辑非(取反)!(2>5)true

真值/假值规则

  • 假值:0""nullundefinedNaN
  • 真值:除假值外的所有值(如非空字符串、非0数字)
console.log(!9);// false(9是真值) console.log(!"");// true(空字符串是假值)

二、条件判断语句🥝

1. if 语句

根据条件执行代码块,条件会隐式转换为布尔值:

// 语法if(条件){// 条件为真时执行}else{// 条件为假时执行}// 示例:判断空格字符串是否为真if(" "){// 空格字符串是真值(非空) console.log(true);// 输出:true}else{ console.log(false);}

2. 三目运算符

if-else的简写形式:条件 ? 表达式1 : 表达式2

// 判断2与"2"是否绝对相等 document.write(2==="2"?"相等":"不等");// 输出:不等

3. switch 语句

用于多条件等值判断(使用===比较),需配合break防止穿透:

let num5 =3;switch(num5){case1: console.log("选了1");break;case2: console.log("选了2");break;case3: console.log("选了3");// 匹配成功,输出此句break;default: console.log("无匹配项");}// 输出:选了3

三、循环语句🥝

1. while 循环

根据条件重复执行代码块,continue可跳过本次循环:

let n =5;while(n--){// n从5递减到0if(n ===3)continue;// 跳过n=3的循环 document.write(`执行第${n}次<br/>`);}// 输出:// 执行第4次// 执行第2次// 执行第1次// 执行第0次

2. for 循环

更灵活的循环方式,适合已知循环次数的场景,语法:

for(初始化; 条件; 更新){// 循环体}

示例:基本用法

// 输出1-5for(let i =1; i <=5; i++){ console.log(i);// 依次输出1、2、3、4、5}

总结🍂

本文全面讲解了 JavaScript 核心运算符和流程控制:

  • 自增运算符的前缀/后缀差异影响返回值
  • 比较运算符中=====更严格(检查类型)
  • 逻辑运算符依赖真值/假值转换
  • 条件判断:if适合区间判断,switch适合等值判断
  • 循环:while适合未知次数,for适合已知次数,灵活使用continuebreak

如果我的内容对你有帮助,请 点赞 , 评论 , 收藏 。创作不易,大家的支持就是我坚持下去的动力!

在这里插入图片描述

Read more

什么是 PX4?无人机开发的第一步

什么是 PX4?无人机开发的第一步

本文是《从零开始学 PX4:无人机开发全流程实战》系列第一篇,带你迈出无人机飞控开发的第一步。适合零基础、有嵌入式/C++背景的开发者。 ✈️ 一、PX4 是什么? PX4 是一套开源的飞控系统(Flight Control System),适用于多种类型的无人机与机器人。它不仅仅是一个固件,而是一个完整的无人系统开发生态,包括飞控软件、仿真平台、通信协议、地面站和开发工具链。 📌 PX4 的组成: * ✅ PX4-Autopilot:飞控固件主仓库(C++ 开发) * ✅ QGroundControl:图形化地面站,便于调参与监控 * ✅ MAVLink:轻量级通信协议 * ✅ Gazebo / jMAVSim:仿真模拟器 * ✅ MAVSDK / MAVROS:无人机接口(支持 Python / C++ / ROS) 顶层软件架构 下面的架构图对 PX4 的各个积木模块以及各模块之间的联系进行了一个详细的概述。

低代码AI化爆发:OpenClaw成企业数字化破局关键

低代码AI化爆发:OpenClaw成企业数字化破局关键

企业数字化转型喊了多年,却始终卡在两难境地:纯代码开发周期长、成本高、迭代慢,中小团队耗不起;传统低代码看似快捷,却只能做简单表单和固化流程,适配不了复杂业务,智能化更是形同虚设。        如今低代码AI化迎来全面爆发,行业彻底告别“拖拽凑数”的浅层次应用,可多数平台依旧停留在AI插件拼接的伪智能阶段。直到OpenClaw的落地,才真正打通了低代码、AI与企业业务的壁垒,凭借原生智能体能力,补齐企业数字化的最后一块短板,成为转型落地的核心抓手。 一、行业痛点:企业数字化的三座拦路大山        抛开浮华的概念,企业做数字化转型,最怕的不是没工具,而是工具不实用、不落地,当前市面上的方案普遍存在三大硬伤,卡死转型进度: * AI与业务割裂:低代码搭载的AI仅能做表层代码生成、问答交互,无法深度理解业务逻辑、对接企业现有系统,智能能力用不上、落地难; * 开发门槛仍偏高:即便用低代码,仍需专人配置流程、对接数据、调试权限,业务人员无法自主操作,技术团队负担依旧繁重; * 数据安全存隐患:多数AI能力依赖云端接口,企业核心业务数据、经营数据需要外发,隐

宇树 Qmini 双足机器人训练个人经验总结

宇树 Qmini 双足机器人训练个人经验总结

github:https://github.com/vsislab/RoboTamer4Qmini 本篇内容基于我在 AutoDL 云服务器 上对 Qmini 做完整训练与测试的实践总结,涵盖训练、可视化、策略测试、模型导出、URDF 调试等环节,并重点说明 headless(无显示)环境下的各种坑与解决方案。希望能帮到后来者少走弯路。 前提说明:为什么不建议在云端直接跑渲染? 我最开始的目标是:训练、渲染、视频录制全部在 AutoDL 上完成,不经过本地运行。 然而现实是: * 即使用 Xvfb 等虚拟显示器启动 Isaac Gym,也会发生视频保存全黑的情况。 * VNC 远程桌面也无法正常显示 Isaac Gym 的渲染窗口。 * 根本原因来自 驱动版本过高与 Isaac Gym 对驱动的强依赖。 因此更推荐:

2026年RAG技术路线图:基于DeepSeek与Neo4j知识图谱构建企业智能体系

RAG的演进:为何图检索增强生成(GraphRAG)将主导2026年 检索增强生成(RAG)自问世以来经历了深刻变革,2026年标志着其向图检索增强生成(GraphRAG)范式的关键性转变。这一演进源于传统平面向量型RAG在满足企业级复杂推理和可靠决策支持需求方面日益凸显的局限性。 这一转型的核心驱动力是从平面向量相似性向复杂关系推理的跨越。传统RAG依赖向量嵌入来衡量查询与文档片段的语义相似性,但这种方法无法捕捉企业决策至关重要的实体、概念与事件间的复杂关联。相比之下,GraphRAG将信息构建为包含节点(实体)和边(关系)的知识图谱,使模型能够遍历并推理这些关联——解锁了平面向量RAG无法实现的多跳推理和上下文关系理解能力。 GraphRAG还解决了传统RAG的两大长期痛点:上下文窗口限制和“中间信息丢失”问题。随着企业查询日益复杂,需要更大的上下文窗口来整合相关信息,但即便是最先进的大语言模型(LLM)也存在有限的上下文容量。GraphRAG通过将结构化知识存储在外部图数据库中解决了这一问题,允许模型按需检索最相关的节点和关系,而非将大量文本塞入上下文窗口。此外,“中间信息