前端学习笔记-JS篇-02

运算符

赋值运算符

 对变量进行赋值的运算符。

已经学过的赋值运算符:=【将等号右边的值赋予给左边,要求左边必须是一个容器】

其他赋值运算符:
+=        -=        *=        /=        %=

原始写法和简化写法【其实就是java基础】

 一元运算符

众多的JavaScript 的运算符可以根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符。

 二元运算符:

let num = 10 + 20

但是:

  • 前置自增和后置自增独立使用时二者并没有差别!
  • 一般开发中我们都是独立使用
  • 后面 i++后置自增会使用相对较多,并且都是单独使用

 例题:

let i= 1

console.log(i++ + ++i + i)

最后得出结果为7


比较运算符

>:左边是否大于右边

<:左边是否小于右边
>=:左边是否大于或等于右边

<=:左边是否小于或等于右边
==:左右两边值是否相等
===:左右两边是否类型和值都相等

!==: 左右两边是否不全等

对比:

= 单等是赋值
== 是判断
=== 是全等
开发中判断是否相等,强烈推荐使用===

字符串比较,是比较的字符对应的ASCI码

  • 从左往右依次比较
  • 如果第一位一样再比较第二位,以此类推
  • 比较的少,了解即可

NaN不等于任何值,包括它本身【涉及到"NaN“都是false】

尽量不要比较小数,因为小数有精度问题

不同类型之间比较会发生隐式转换

 
逻辑运算符

使用场景:逻辑运算符用来解决多重条件判断
正确写法:num>5 && num<10 

案例:

需求:用户输入一个,判断这个数能被4整除,但是不能被100整除,满足条件,页面弹出true,否则弹出 false

<body><script>//1.用户输入let num = +prompt('请输入一个数字:')//2.弹出结果alert(num % 4 === 0 && num % 100 !== 0)</script>
</body>


运算符优先级

  • 一元运算符里面的逻辑非优先级很高
  • 逻辑与比逻辑或优先级高 

语句

表达式和语句

表达式是可以被求值的代码,JavaScript引擎会将其计算出一个结果。

例如:

语句是一段可以执行的代码。【比如: prompt()可以弹出一个输入框,还有 if语句 for 循环语句等】

区别:
表达式:因为表达式可被求值,所以它可以写在赋值语句的右侧。

【表达式:num=3+4】

语句:而语句不一定有值,所以比如 alert()、for和break 等语句就不能被用于赋值。
【语句:alert()弹出对话框console.log()控制台打印输出】

某些情况,也可以把表达式理解为表达式语句,因为它是在计算结果,但不是必须的成分(例如continue语句)

分支语句

程序三大流程控制语句

  • 以前我们写的代码,写几句就从上往下执行几句,这种叫顺序结构
  • 有的时候要根据条件选择执行代码,这种就叫分支结构
  • 某段代码被重复执行,就叫循环结构

分支语句

分支语句可以让我们有选择性的执行想要的代码

lf分支语句

if语句有三种使用:单分支、双分支、多分支

单分支语句

语法:

if(条件)
{满足条件要执行的代码
}
  • 括号内的条件为true时,进入大括号里执行代码
  • 小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
  • 如果大括号只有一个语句,大括号可以省略,但是,俺们不提倡这么做~
双分支语句

语法:

if(条件){满足条件要执行的代码
} else {不满足条件执行的代码
}

案例:

输入用户名和密码

<body><script>//1.用户输入let uname = prompt('请输入用户名:')let pwd = prompt('请输入密码:')//2.判断输出if(uname === 'pink'&& pwd ==='123456'){alert('恭喜登录成功')}else {alert('用户名或者密码错误')}</script>
</body>
 多分枝语句

使用场景: 适合于有多个结果的时候,比如学习成绩可以分为:优 良 中 差

语法:

if(条件1){
代码1
}else if(条件2){
代码2
}else if(条件3){
代码3} else {
代码n

释义:

  • 先判断条件1,若满足条件1就执行代码1,其他不执行
  • 若不满足则向下判断条件2,满足条件2执行代码2,其他不执行
  • 若依然不满足继续往下判断,依次类推
  • 若以上条件都不满足,执行else里的代码n
  • 注:可以写N个条件,但这里演示只写2个 

案例:

根据不同成绩返回不同的评价

<body><script>//1.用户输入let score = +prompt('请输入成绩:')//2.判断输出if(score >= 90){alert('成绩优秀,宝贝,你是我的骄傲')}else if(score >= 70){alert('成绩良好,宝贝,你要加油哦~~')}else if(score >=60){alert('成绩及格,宝贝,你很危险~')else {alert('成绩不及格,宝贝,我不想和你说话,我只想用鞭子和你说话~')</script>
</body>
三元运算符

使用场景: 其实是比if双分支 更简单的写法,可以使用 三元表达式
符号:?与:配合使用
语法:

条件 ? 满足条件执行的代码 : 不满足条件执行的代码

一般用来取值

案例:

需求:用户输入2个数,控制台输出最大的值

数字补0案例
需求:用户输入1个数,如果数字小于10,则前面进行补0,比如 09 03 等

  • 为后期页面显示时间做铺垫
  • 利用三元运算符 补 0计算

switch 语句 
switch(数据){case 值1:代码1breakcase 值2:代码2breakdefault:代码nbreak
}

释义:

  • 找到跟小括号里数据全等的case值,并执行里面对应的代码
  • 若没有全等 ===的则执行default里的代码
  • 例:数据若跟值2全等,则执行代码2 
  1. switch case语句一般用于等值判断,不适合于区间判断
  2. switch case一般需要配合break关键字使用 没有break会造成case穿透

案例:

简单计算器
需求:用户输入2个数字,然后输入+ - * / 任何一个,可以计算结果

循环语句 

 断点调试

学习时可以帮助更好的理解代码运行,工作时可以更快找到bug

JS基础Day2-29-断点调试_哔哩哔哩_bilibili

浏览器打开调试界面
1.按F12打开开发者工具
2.点到sources一栏
3.选择代码文件

断点:在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来

循环:重复执行一些操作
while :在..期间,所以 while循环 就是在满足条件期间,重复执行某些代码。

while(循环条件){要重复执行的代码(循环体)
}

释义:

  • 跟if语句很像,都要满足小括号里的条件为true才会进入循环体 执行代码
  • while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出

while 循环三要素:
循环的本质就是以某个变量为起始值,然后不断产生变化量,慢慢靠近终止条件的过程。所以,while循环需要具备三要素:

  • 变量起始值
  • 终止条件(没有终止条件,循环会一直执行,造成死循环)
  • 变量变化量(用自增或者自减)

循环退出

循环结束:

  • break:退出循环
  • continue:结束本次循环,继续下次循环

区别

  • continue 退出本次循环,一般用于排除或者跳过某一个选项的时候,可以使用continue
  • break退出整个循环,一般用于结果已经得到,后续的循环不需要的时候可以使用

综合案例

简易ATM取款机案例
需求:用户可以选择存钱、取钱、查看余额和退出功能

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>// 1. 开始循环 输入框写到 循环里面// 3. 准备一个总的金额let money = 100while (true) {let re = +prompt(`请您选择操作:1.存钱2.取钱3.查看余额4.退出`)// 2. 如果用户输入的 4 则退出循环, break  写到if 里面,没有写到switch里面, 因为4需要break退出循环if (re === 4) {break}// 4. 根据输入做操作switch (re) {case 1:// 存钱let cun = +prompt('请输入存款金额')money = money + cunbreakcase 2:// 取钱let qu = +prompt('请输入取款金额')money = money - qubreakcase 3:// 查钱alert(`您的银行卡余额是${money}`)break}}</script>
</body></html>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BioMistral 7B: 生物医学领域的开源多语言AI模型

人工智能咨询培训老师叶梓 转载标明出处 尽管目前有许多开源的针对健康领域的大模型可供使用&#xff0c;但现有模型在数据隐私风险、模型性能以及多语言支持方面的局限性&#xff0c;限制了它们在医疗领域的应用。为了克服这些限制&#xff0c;研究者们提出了BioMistral&#…

【并查集、树的直径】P2195 HXY造公园 题解

题意 P2195 codeforces 455c&#xff0c;两道一样的题 给出一个由 n n n 个点&#xff0c; m m m 条边组成的森林&#xff0c;有 q q q 组询问,每次询问有以下两种情况 输入 o p 1 op 1 op1 时&#xff1a;给出点 x x x&#xff0c;输出点 x x x 所在的树的直径。 输…

Linux--C语言之分支结构

文章目录 一、分支结构&#xff08;一&#xff09;概念&#xff08;二&#xff09;条件构建1.关系表达式&#xff1a;2.逻辑表达式&#xff1a;3.常量/变量&#xff1a;值是否非0&#xff0c;取值&#xff08;0|1&#xff09; &#xff08;三&#xff09;选择结构的形式1.单分支…

idea项目注册在nacos错误:Cannot determine local hostname

一开始想把项目注册在nacos上&#xff0c;启动报错是这样的&#xff0c;而且yml文件也不生效&#xff0c;因为默认端口是8080&#xff0c;我在yml文件中写了8081没用&#xff0c;正好nacos的配置也在yml文件中。各种百度&#xff0c;各种依赖添加删除&#xff0c;反复启动没用 …

振德医疗选择泛微千里聆RPA,助力电商、人事业务流程自动化

振德医疗用品股份有限公司成立于1994年&#xff0c;中国A股上市公司&#xff0c;是医用敷料和感控防护产品主要的供应商之一。 &#xff08;图片素材来自振德医疗官网&#xff09; 振德医疗的业务在线上线下齐发力。目前拥有5个国内生产基地&#xff0c;3个海外工厂&#xff0…

SQL Server 2022的游标

《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;》图书介绍-CSDN博客 《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) 游标是SQL Serv…

分布式知识总结(一致性Hash算法)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 一致性Hash算法 假如有三台服务器编号node0、node1、node2&…

【系统维护】Dll文件修复工具使用教程,Windows系统必备!

一、dll文件是什么 dll文件是是一种Windows操作系统下的可执行文件格式&#xff0c;包含可由多个程序同时使用的代码和数据的文件&#xff0c;它的主要作用是实现代码和数据的共享&#xff0c;从而节省内存和硬盘空间&#xff0c;并提高程序的性能和可维护性 二、如何解决dll文…

云计算实训26——部署LVS负载均衡项目

LVS LVS是linux virtural server的简称——免费、开源、四层负载均衡 工作原理&#xff1a; 通过linux达到负载均衡好和linux操作系统实现高性能高可用的linux服务集群&#xff0c;具有良好的可靠性、可扩展性、可操作性、可扩展性、从而实现以低廉的成本实现最优的性能。LV…

PTA 7-21 求特殊方程的正整数解

7-21 求特殊方程的正整数解&#xff08;15分&#xff09; 本题要求对任意给定的正整数N&#xff0c;求方程的全部正整数解。 输入格式&#xff1a; 输入在一行中给出正整数N&#xff08;≤10000&#xff09;。 输出格式&#xff1a; 输出方程的全部正整数解&#xff0c;其…

Wise Registry Cleaner:程序员必备的电脑加速工具!

前言 但你知道吗&#xff1f;随着时间的推移&#xff0c;Windows注册表就像是一个不断膨胀的宇宙&#xff0c;里面充满了无效、过时或残留的“星际垃圾”&#xff1b;这些看似不起眼的碎片&#xff0c;却在悄然间拖慢了你的电脑速度&#xff0c;让系统变得不那么“听话”&#…

CSS3下拉菜单实现

导航菜单&#xff1a; <nav class"multi_drop_menu"><!-- 一级开始 --><ul><li><a href"#">Power</a></li><li><a href"#">Money</a></li><li><a href"#"…

React + React-tsparticles + Tsparticles完成炫酷的登录特效

效果(动态) npm i react-tsparticles2.12.2 npm i tsparticles2.12.0 注意:最好和上面的版本一样,不然会出现一个报错,具体如何解决的话去官网吧,上面的版本是没有问题的 代码块 总计6个代码块, options里面是相关粒子的配置 完整代码 import ./index.sass import { Form, Inp…

【简历】宜宾某学院简历:通过率低,JVM是必考点,不能写了解

注&#xff1a;为保证用户信息安全&#xff0c;姓名和学校等信息已经进行同层次变更&#xff0c;内容部分细节也进行了部分隐藏 简历说明 这是一份25届的宜宾某二本学院的Java简历&#xff0c;那么这个简历&#xff0c;因为说二本的校招&#xff0c;主体在小公司&#xff0c;…

Redis的过期策略与内存淘汰机制详解

文章目录 Redis的过期策略1. 定时删除2. 惰性删除3. 定期删除 Redis的内存淘汰机制1. noeviction2. volatile-random3. volatile-ttl4. volatile-lru5. volatile-lfu6. allkeys-random7. allkeys-lru8. allkeys-lfu LRU与LFU算法总结 Redis作为一种高性能的键值对存储系统&…

OJ-0813

题目 示例&#xff1a; 输入&#xff1a; 1-2abcd 输出&#xff1a; -1参考 import java.util.Arrays; import java.util.HashSet; import java.util.Scanner; import java.util.Set; import java.util.Stack;public class Main {// 保存数字的栈static Stack<Long> nu…

Qt使用lupdate工具生成.ts文件

Qt提供了lupdate工具&#xff0c;用于从源代码中提取需要翻译的字符串【1】&#xff0c;并生成或更新.ts文件 注解【1】&#xff1a;使用tr()函数&#xff08;或者QCoreApplication::translate()等其他相关的翻译函数&#xff09;来标记所有需要翻译的文本。例如&#xff1a; …

WEB应用(十五)---文件包含

文件包含的概念 在各种开发语言中都提供了内置的文件包含函数&#xff0c;可以使得开发人员在一个代码文件中直接包含&#xff08;引入&#xff09;另外一个代码文件。 由于文件包含可以达到复用和方便修改的目的&#xff0c;在代码设计中常常使用。 大多数情况下&#xff0…

Ethercat学习-SOEM主站源码解析(DC部分)

文章目录 SOEM DC模式源码简介示例用图ecx_porttimeecx_parentportecx_configdc如果从站不支持DC如果从站支持DC SOEM DC模式源码简介 示例用图 本文中都会围绕着这个图来讲&#xff0c;从站的port编号依次为0&#xff0c;3&#xff0c;1&#xff0c;2 在SOEM中&#xff0c;与…

【vulnhub】Broken: Gallery靶机

靶机安装 下载地址&#xff1a;Broken: Gallery ~ VulnHub 信息收集 靶机IP发现 nmap 192.168.93.0/24 端口扫描 nmap -A 192.168.93.167 -p- 目录扫描 dirsearch -u http://192.168.93.167 页面访问&#xff0c; 没有可用的信息 尝试22端口的ssh进行爆破 hydra -L roc…