【前端开发】一文带你快速入门JavaScript(下)Web 前端必备程序语言 | 条件语句与循环结构

【前端开发】一文带你快速入门JavaScript(下)Web 前端必备程序语言 | 条件语句与循环结构
在这里插入图片描述
💯 欢迎光临清流君的博客小天地,这里是我分享技术与心得的温馨角落 💯

🔥 个人主页:【清流君】🔥📚 系列专栏: 运动控制 | 决策规划 | 机器人数值优化 📚🌟始终保持好奇心,探索未知可能性🌟
动图描述

文章目录

在这里插入图片描述

引言

本篇博客是快速入门 JavaScript 的极简教程,旨在让非科班、对前端开发感兴趣的同学快速入手,本文将深入探讨 JavaScript 中的 if 条件语句、三目运算符以及 switch 语句,帮助读者理解它们的使用场景和实际应用。同时还将介绍 forwhile 循环的基本结构及其在遍历数组时的有效应用。


一、if 条件语句

先来了解一下 if 条件语句。

1.1 基本 if 语句

首先声明 x x x 常量,写 if 去检查一下 x x x 是否等于 10 10 10 ,现在使用三等号来检验 x x x 是否等于 10 10 10 。如果条件为真,就打印 x x x 是 10 10 10 。

const x =10;if(x ===10){ console.log('x is 10');}

运行,得到了 x x x 是 10 10 10 。

在这里插入图片描述

1.2 双等号与三等号的区别

如果把三等号改成双等号,它就不再考虑数据的类型了。

如果把 x x x 从数 10 10 10 改为字符串 10 10 10 :

const x ="10";if(x ==10){ console.log("x is 10");}

还会得到打印的结果。

在这里插入图片描述

但如果再改回三等号,可以看到就不再得到打印的结果,因为字符串和数不是类型的,所以改回数时,就又得到了打印结果。

不同的程序员也许会有不同的使用习惯,但有很多人喜欢使用三等号来保证数据类型也是相同的。

1.3 if-else 语句

再来了解一下 elseelse 会在 if 条件是假时被执行,所以再打印 x x x 不是 10 10 10 ,将 x x x 改为 20 20 20 :

const x =20;if(x ===10){ console.log("x is 10");}else{ console.log("x is not 10");}

于是就得到了 x x x 不是 10 10 10 。

在这里插入图片描述

1.4 else-if 语句

如果还希望有其他的条件区块,就可以添加 else - if 条件语句,写 else - if x x x 是否大于 10 10 10 ,打印 x x x 是大于 10 10 10 的,根据比较区间,于是将 else 中的打印语句改为 x x x 是小于 10 10 10 的,将 x x x 改为 4 4 4 。

const x =4;if(x ===10){ console.log("x is 10");}elseif(x >10){ console.log("x is grater than 10")}else{ console.log("x is less than 10");}

是得到了 x x x 小于 10 10 10 。

在这里插入图片描述

1.5 逻辑运算符的使用

再来声明常量 y y y 赋值为 10 10 10 ,写 if x x x 大于 5 5 5 或这里使用双竖线表示或 y y y 大于 10 10 10 ,删掉后面的区块,写 x x x 是大于 5 5 5 的,且 y y y 是大于 10 10 10 的。

const x =4;const y =10;if(x >5|| y >10){ console.log("x is grater than 5 or y is grater than 10");}

现在什么也没有得到,但如果将 y y y 改成 11 11 11const y = 11;就得到了打印结果。

在这里插入图片描述

如果使用且关系使用两个与符号,这时候又什么都得不到了。

if(x >5&& y >10)

因为且关系必须要两边同时是真的时候,整个条件句才能为真。

此时如果再把 x x x 改为 6 6 6 :

const x =6;const y =11;if(x >5&& y >10){ console.log("x is grater than 5 and y is grater than 10");}

现在就得到了打印的结果。

在这里插入图片描述

二、三目运算符

下面介绍与条件判断有关的三目运算符。

2.1 基本用法

首先声明常量 x x x 并赋值为 10 10 10 ,声明 color 其实与 x x x 是否大于 10 10 10 有关,所以在等号右面写 x x x 大于 10 10 10 ,使用问号来表示条件为真时,希望表达式的返回值,设为红色,使用冒号表示 else ,也就是条件为假时,表达式的值是多少,设为蓝色。

const x =10;const color = x >10?"red":"blue"; console.log(color);

2.2 运行结果

打印一下 color

在这里插入图片描述

得到了蓝色,因为 10 10 10 并不大于 10 10 10 。

将 x x x 改为 11 11 11const x = 11; 现在得到了红色,因为 11 11 11 大于 10 10 10 。

在这里插入图片描述

大家记住三目运算符后,就可以在很多地方简化自己的 ifelse 代码。


三、switch 语句

3.1 switch 语句结构

下面来了解一下 switch 语句, switch 语句也是一种条件语句

  • switchcolor ,用 case 匹配 color 的值。
  • casered 表示 color 是红色的条件下,要打印颜色是红色的,要写 break
  • caseblue 表示 color 是蓝色的条件下,要打印颜色是蓝色的,再写 break
  • 最后写 default ,表示上面任何 case 都没匹配成功的时候想要匹配的内容,所以打印颜色既不是红色也不是蓝色的。
const x =11;const color = x >10?"red":"blue";switch(color){case"red": console.log("color is red");break;case"blue": console.log("color is blue");break;default: console.log("color is not red or blue");}
在这里插入图片描述

3.2 case 和 break

break 是非常重要的,如果不写 break ,程序就会执行其匹配到的 case 后面的所有语句,而无视后面的 case 条件,直到遇到 break 或者执行完全部在 switch 中的程序语句后才会停止。


四、for 和 while 循环

下面介绍一下循环语句。

4.1 for 循环的基本结构

先来了解一下 for 循环,for 后面跟一对小括号。在这里要先声明循环变量,比如 i i i 并初始化,写一下循环条件,例如 i i i 小于 10 10 10 ,当 i i i 小于 10 10 10 的时候,循环就会被执行。最后使用加加的运算符,让 i i i 每次循环后递增,来保证循环不是死循环。在循环里打印 i i i :

for(let i =0; i <10; i++){ console.log(i);}

运行,得到了从 0 0 0 到 9 9 9 的结果。

在这里插入图片描述

因为 10 10 10 不小于 10 10 10 ,所以 10 10 10 没有被输出。

如果希望 10 10 10 被打印出来,可以将小于改成小于等于。

可以在循环里做任何事情,比如写模板字符串:

for(let i =0; i <10; i++){ console.log(`For Loop Number: ${i}`);}

输出这样的结果。

在这里插入图片描述

4.2 while 循环的基本结构

还有 while 循环,它和 for 的区别是要在外部声明循环变量。写 let i i i ,赋值为 0 0 0 ,在 while 括号里写循环条件。在花括号里,使用同样的循环语句。有一件事是一定要注意的,就是要在 while 里面改变循环变量,否则它就会变成死循环。要让 i i i 每次递增 1 1 1

for(let i =0; i <10; i++){ console.log(`For Loop Number: ${i}`);}let i =0;while(i <10){ console.log(`While Loop Number: ${i}`); i++;}

执行,得到了相同的结果。

在这里插入图片描述

4.3 for 循环遍历数组

现在使用曾经使用过的对象数组来作为循环的对象,使用 for 循环来做这件事情,将循环条件的 10 10 10 改为 todos 的长度,打印 todos 中每对象的 text 属性的值。

const todos =[{ id:1, text:"Take out trash", isCompleted:true,},{ id:2, text:"Meeting with boss", isCompleted:true,},{ id:3, text:"Dentist appt", isCompleted:false,},];for(let i =0; i < todos.length; i++){ console.log(`${todos[i].text}`);}

运行,得到了期望的结果。

在这里插入图片描述

4.4 for…of 循环

还可以使用另一种 for 循环的写法,在括号中声明循环变量 todo ,在 todos 中,前面的循环变量可以是任何东西,而后面的 todos 是被循环的数组,此时 todo 就是数组中的每一项,如果把 todo 打印出来,就会得到数组中的每一项。如果希望得到每一项的 text ,只需打印todo.text

const todos =[{ id:1, text:"Take out trash", isCompleted:true,},{ id:2, text:"Meeting with boss", isCompleted:true,},{ id:3, text:"Dentist appt", isCompleted:false,},];for(let todo of todos){ console.log(todo.text);}
在这里插入图片描述

如果希望得到每一项的 ID ,只需要打印 todo.id


五、总结

本篇博客介绍了 JavaScript 中的条件语句和循环语句的基本用法,适合初学者或需要复习基础知识的开发者。首先,通过详细示例讲解了 if 语句、双等号与三等号的区别、 if - elseelse - if 语句的用法,并演示了逻辑运算符的使用。

此外,还介绍了三目运算符的简洁表达方式,并详细解释了 switch 语句的结构与用法。接着,深入剖析了 forwhile 循环的基本结构,展示了如何利用循环遍历数组,最后引入了 forof 循环。


参考资料

JavaScript快速入门 | WEB前端必备程序语言


后记:

🌟 感谢您耐心阅读这篇关于 快速入门JavaScript | 条件语句与循环结构 的技术博客。 📚

🎯 如果您觉得这篇博客对您有所帮助,请不要吝啬您的点赞和评论 📢

🌟您的支持是我继续创作的动力。同时,别忘了收藏本篇博客,以便日后随时查阅。🚀

🚗 让我们一起期待更多的技术分享,共同探索移动机器人的无限可能!💡

🎭感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行 🚀

Read more

前端缓存策略:让你的网站飞起来

前端缓存策略:让你的网站飞起来 毒舌时刻 前端缓存?这不是浏览器的事吗? "我不需要管缓存,浏览器会自动处理"——结果网站加载慢,用户体验差, "缓存就是localStorage嘛,多简单"——结果缓存管理混乱,内存占用高, "我直接禁用缓存,省得麻烦"——结果每次都重新加载,浪费带宽。 醒醒吧,前端缓存不是简单的localStorage,而是一套完整的策略! 为什么你需要这个? * 性能提升:减少重复请求,加快页面加载速度 * 用户体验:离线访问,减少等待时间 * 带宽节省:减少服务器流量,降低成本 * 可靠性:网络不稳定时仍能正常访问 反面教材 // 反面教材:滥用localStorage function fetchData() { // 每次都从API获取数据 return fetch('https://api.example.

Flutter for OpenHarmony: Flutter 三方库 flutter_cors 应对鸿蒙 Web 与混合开发中的跨域挑战(网络兼容方案)

Flutter for OpenHarmony: Flutter 三方库 flutter_cors 应对鸿蒙 Web 与混合开发中的跨域挑战(网络兼容方案)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的跨平台开发时,我们不仅开发原生 HAP,有时也会涉及 Flutter Web 或是在鸿蒙端侧运行 Webview 混合应用。这时,一个经典的“拦路虎”就会出现:CORS (跨源资源共享) 限制。当你的 Web 端尝试访问一个未配置跨域头部的后端 API 时,请求会被浏览器拦截,报错信息极其晦涩。 虽然 CORS 主要是后端的工作,但 flutter_cors 提供了一种客户端视角的辅助工具。它通过工具化手段帮助开发者分析、绕过或生成跨域适配规则,是保证鸿蒙跨平台 Web 项目顺利运行的调试利器。 一、跨域访问逻辑模型 CORS 是一种浏览器的安全保护机制,它在请求发出前先进行“预检(Preflight)

Docker镜像源中科大配置教程助力GLM-4.6V-Flash-WEB国内部署

Docker镜像源中科大配置助力GLM-4.6V-Flash-WEB国内部署 在当前多模态AI技术快速落地的背景下,越来越多开发者希望将前沿视觉语言模型部署到本地或私有云环境中。然而,一个看似简单却常被忽视的问题——Docker镜像拉取慢,往往成为项目启动的第一道“拦路虎”。尤其是当目标模型来自海外镜像仓库时,动辄数GB的镜像文件可能需要数小时才能下载完成,甚至中途失败。 以智谱AI推出的 GLM-4.6V-Flash-WEB 为例,这款专为Web端高并发、低延迟设计的中文多模态模型,凭借其出色的推理速度和轻量化特性,正迅速成为国内开发者构建图文理解系统的首选。但它的Docker镜像体积较大(通常包含CUDA、PyTorch及完整权重),若不借助加速手段,在国内直接拉取几乎不可行。 幸运的是,我们并非无计可施。中国科学技术大学开源镜像站提供的 Docker Registry代理服务,正是破解这一难题的利器。通过合理配置,原本需要几个小时的镜像拉取过程,可以缩短至几分钟内完成,真正实现“分钟级”环境搭建。 为什么是GLM-4.6V-Flash-WEB? 不同于传统视觉语言模型(

OpenClaw AI 物理级离线部署指南:开启 Windows 侧的 AI 新纪元

OpenClaw AI 物理级离线部署指南:开启 Windows 侧的 AI 新纪元

文章目录 * 摘要 * 一、 环境基石:打通 Windows 与 Linux 的数据链路 * 1.1 安装 WSL 发行版 * 1.2 物理路径映射:定位你的安装包 * 二、 离线安装 NVM:手动构建版本管理器 * 2.1 创建目录并解压离线包 * 2.2 修改系统配置文件(.bashrc) * 三、 离线注入 Node.js:核心引擎部署 * 四、 OpenClaw AI 主程序与插件安装 * 4.1 主程序解压与依赖预热 * 4.2离线环境下的依赖安装 * 4.3两种不同安装方式 * 方案一:侧重友好引导(官方引导) * 方案二:进阶玩法(