2_js运算符与流程控制语句

1. 运算符的应用

1.1 算数运算符

  • 浮点数的精度问题

    • 浮点数值的最高精度是17位小数,不要直接判断两个浮点数是否相等。

    var result = 0.1 + 0.2;    // 结果不是 0.3,而是:0.30000000000000004
    console.log(0.07 * 100);   // 结果不是 7,  而是:7.000000000000001
  • 课堂案例:01.算数运算符.html

1.2 ++运算符
  • 课堂案例:02.++运算符.html

var num1 = 10;
num1++; // num = num + 1    ++num;
console.log(num1);
var num2 = 10;
// console.log(num2++ + 10);    //先执行表达式再自增
console.log(++num2 + 10);       //先自增再执行表达式
console.log(num2);
1.3 比较运算符

console.log(18 == '18');
console.log(18 === '18');
  • 课堂案例:03.比较运算符.html

1.4 逻辑运算符

  • 为什么是两个符号呢?

    • 是程序执行效率的问题:如果&&在判断的时候,第一个条件为false,那么这个时候就没有必要再判断第二个条件了,因为有一个是false结果肯定是false。

  • &&:两边都是 true才返回 true,否则返回 false,即两个条件必须都满足才是true

  • ||:两边都是 true才返回 true,否则返回 false,即两个条件只需要满足一个就是true

  • !:表示取反

    var isOk = !true;
    console.log(isOk);  // false

  • 课堂案例:04.逻辑运算符.html

  • 课堂案例:05.逻辑运算符练习.html

1.5 赋值运算符

var age = 10;
age += 5;  // 相当于 age = age + 5;
age -= 5;  // 相当于 age = age - 5;
age *= 10; // 相当于 age = age * 10;
  • 课堂案例:06.赋值运算符.html

2. 流程控制语句

2.1 流程控制概念
  • 分支结构:根据不同的条件执行不同的逻辑代码

  • 循环结构:重复执行表达式,直到不满足条件为止

2.2 If条件判断语句
  • JS提供了两种条件判断语句:if语句、switch语句

  • 课堂案例:07.if语句.html

  • 课堂案例:08.if案例使用.html

    // 条件成立执行代码,否则什么也不做
    if (条件表达式) {// 条件成立执行的代码语句
    }
    ​
    if (13 > 5) {alert('满足条件执行');
    }
    ​
    console.log("code...")

  • if else语句:

// 条件成立  执行 true 否则执行else
if (条件表达式) {// 返回true执行代码块
} else {// 返回false执行代码块
}
  • 课堂案例:09.if else语句.html

  • if else if 语句:

// 当有多个条件的时候如何执行代码块呢?
if (条件表达式1) {语句1;
} else if (条件表达式2)  {语句2;
} else if (条件表达式3)  {语句3;....
} else {// 上述条件都不成立执行此处代码
}
  • 课堂案例:10.if else if语句.html

2.3 三元表达式
  • 语法结构:表达式 ? 结果1 : 结果2;

  • 如果表达式为 true ,返回第一个值否则返回第二个值。

  • 课堂案例:11.三元表达式.html

var number = 100;
var result = number > 110 ? "yes" : "no";
console.log(result);
2.4 switch分支流程控制
switch( 表达式 ){ case value1:// 表达式 等于 value1 时要执行的代码break;case value2:// 表达式 等于 value2 时要执行的代码break;default:// 表达式 不等于任何一个 value 时要执行的代码
}
  • 注意: 执行case 里面的语句时,如果没有break,则继续执行下一个case里面的语句。

  • 课堂案例:12.switch分支语句.html

  • 课堂案例:13.switch案例练习.html

2.5 什么时候使用switch什么时候使用if语句
  • switch更多用来表示状态,而if用户常用的判断。

  • case语句里面不适合写大量的代码

  • if 语句里面适合写大量的代码

3. 循环

3.1 for循环
  • 课堂案例:14.为什么会需要循环.html

  • 语法结构

    for(初始化变量; 针对变量的判断条件; 变量操作){//循环体
    }
  • 断点调试的应用

    • 打开浏览器控制台

    • 然后点击Source在源代码中打断点

    • 课堂案例:15.通过断点调试来检查循环的值.html(重要)

  • 课堂案例:16.for循环案例1.html

  • 课堂案例:17.for循环案例2.html

  • 课堂案例:18.for循环案例3.html

  • 课堂案例:19.for循环案例4.html

  • 课堂案例:20.for循环案例5.html

3.2 嵌套for循环
for (外循环的初始; 外循环的条件; 外循环的操作表达式) {for (内循环的初始; 内循环的条件; 内循环的操作表达式) {  需执行的代码;}
}
​
课堂案例:25.嵌套for循环.html
课堂案例:26.嵌套for循环案例1.html
课堂案例:27.嵌套for循环案例2.html
课堂案例:28.嵌套for循环案例3.html
3.3 while循环
  • while语句的语法结构如下:

while (条件表达式) {// 满足条件的代码块
}
  • 执行流程:

    • 先执行条件表达式,如果结果为 true,则执行循环体代码;如果为 false,则退出循环,执行后面代码

    • 执行循环体代码

    • 循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为true,则会继续执行循环体,直到循环条件为 false 时,整个循环过程才会结束

  • 使用 while 循环时一定要注意,它必须要有退出条件,否则会成为死循环

3.4 do-while循环
  • do... while 语句的语法结构如下:

do {// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);
  • 执行流程

    • 先执行一次循环体代码

  • 再执行条件表达式,如果结果为 true,则继续执行循环体代码,如果为 false,则退出循环,继续执行后面代码

    注意:先再执行循环体,再判断,do…while循环语句至少会执行一次循环体代码

3.5 continue、break
  • continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中 continue 之后的代码就会少执行一次)。

例如,吃5个包子,第3个有虫子,就扔掉第3个,继续吃第4个第5个包子,其代码实现如下:

 for (var i = 1; i <= 5; i++) {if (i == 3) {console.log('这个包子有虫子,扔掉');continue; // 跳出本次循环,跳出的是第3次循环 }console.log('我正在吃第' + i + '个包子呢');}
  • break 关键字用于立即跳出整个循环(循环结束),例如,吃5个包子,吃到第3个发现里面有半个虫子,其余的不吃了,其代码实现如下:

for (var i = 1; i <= 5; i++) {if (i == 3) {break; // 直接退出整个for 循环,跳到整个for下面的语句}console.log('我正在吃第' + i + '个包子呢');}

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

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

相关文章

C++学习笔记(十五)

继承 继承是面向对象三大特性之一 有些类与类之间存在特殊的关系&#xff0c;例如下图中&#xff1a; 我们发现&#xff0c;定义这些类时&#xff0c;下级别的成员除了拥有上一级的共性&#xff0c;还有自己的特性。 这个时候我们就可以考虑利用继承的技术&#xff0c;减少重…

3 - Electron app BrowserWindow对象-关于窗口

优雅的打开应用~ 当加载缓慢&#xff0c;打开应用的一瞬间会出现白屏&#xff0c;以下方法可以解决 const mainWindow new BrowserWindow({ show: false }) mainWindow.once(ready-to-show, () > {mainWindow.show() }) 设置背景颜色 const win new BrowserWindow({ b…

MongoDB的原子操作findAndReplace、findOneAndDelete和deleteMany

本文主要介绍MongoDB的原子操作findAndReplace、findOneAndDelete和deleteMany。 目录 MongoDB的原子操作一、findAndReplace二、findOneAndDelete三、deleteMany MongoDB的原子操作 MongoDB的原子操作指的是在单个操作中对数据库的数据进行读取和修改&#xff0c;并确保操作是…

selenium css定位

selenium-css定位 element_css driver.find_element(By.CSS_SELECTOR, css表达式)css定位说明 selenium中的css定位&#xff0c;实际是通过css选择器来定位到具体元素&#xff0c;css选择器来自于css语法 css定位优点 语法简洁对比其他定位方式&#xff0c;定位效率更快对…

高防服务器防御靠谱吗?

​  随着互联网的普及和信息技术的不断发展&#xff0c;网络安全问题日益突出。高防服务器作为一种专业的网络安全设备&#xff0c;在防御网络攻击方面扮演着越来越重要的角色。然而&#xff0c;高防服务器是否靠谱&#xff0c;是否能够有效地防御各种网络攻击&#xff0c;一…

CUMT--Java--JDBC编程

目录 一、JDBC简介 二、数据库访问 1、加载数据库驱动 2、建立数据连接 3、创建Statement对象 4、执行SQL语句 5、访问结果集 三、MetaData接口 1、DatabaseMetaData接口 2、ResultSetMetaData接口 四、事务 1、JDBC中的事务 2、保存点 3、批量更新 一、JDBC简…

【JAVA】重力反弹,反弹高次一次比一次低

本来是想实现泡泡屏保(javascript实现漂亮的气泡碰撞效果(Chrome浏览器下更佳) 下载-脚本之家)的&#xff0c;还未实现 import javax.swing.*; import java.awt.*; import java.util.LinkedList; import java.util.Random;class Bubble {public static Image image;public int…

轮滑加盟培训机构管理系统源码开发方案

一、项目背景与目标 &#xff08;一&#xff09;项目背景 随着轮滑运动的普及和市场需求的增加&#xff0c;轮滑加盟培训机构逐渐兴起。这些机构面临着学员管理、课程排班、教师管理等多方面的挑战。为了提高管理效率和服务质量&#xff0c;需要开发一套专门针对轮滑加盟培训…

FormData文件上传多文件上传

一、简介 ​ 通常情况下&#xff0c;前端在使用post请求提交数据的时候&#xff0c;请求都是采用application/json 或 application/x-www-form-urlencoded编码类型&#xff0c;分别是借助JSON字符串来传递参数或者keyvalue格式字符串&#xff08;多参数通过&进行连接&#…

大数据分析22、23真题回忆

2022 学长描述 1. 一个很简单的据估计 2. 算一个决策树 3. Cypher图 4.Hadoop和Spark的区别 2023 真题回忆 1. 大数据分析的定义 说出大数据分析三个层次 2.大数据分析流程 预处理部分包含哪几个步骤 3.Spark核心部件和应用库有哪些 并简要说明功能 4. 主成分分析和因…

HTML5+CSS3小实例:纯CSS实现锚点平滑过渡

实例:纯CSS实现锚点平滑过渡 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"&…

【无语】Microsoft Edge 浏览器不显示后台返回的数值数据

Microsoft Edge 禁用 JSON 视图 写在前面禁用 JSON 视图 写在前面 遇到一个有意思的事情&#xff0c;在用 Microsoft Edge 浏览器发送请求测试时发现&#xff0c;后端返回的数值数据没有正常展示&#xff0c;而是类似查看源码的结果&#xff0c;只显示了一个行号1&#xff0c;…

最优化理论复习--对偶单纯形方法及灵敏度分析

对偶单纯形方法 定义&#xff1a;设 x ( 0 ) x^{(0)} x(0) 是(L)问题的基本解&#xff08;不一定是可行解&#xff08;极点&#xff09;&#xff09;&#xff0c;如果它的对偶问题的解释可行的&#xff0c;则称 x ( 0 ) x^{(0)} x(0) 为原问题的对偶可行基本解 从而衍生出结…

Chappyz 生态迎重磅利好:多链应用程序启动、100% 收入共享计划开启

“首款由人工智能驱动的社区建设工具 Chappyz&#xff0c;即将在 12 月 21 日推出全新的多链平台并向社区开放&#xff0c;同时制定了生态收入 100% 向 Stakers 共享的计划&#xff0c;这不仅是 Chappyz 生态的一个全新进展&#xff0c;也是 Chappyz 生态发展的重磅利好。” 构…

0137 - 跳转控制语句 break、continue、return

文章目录 1 break1.1 基本介绍1.2 基本语法1.3 注意事项和细节说明 2 continue2.1 基本介绍2.2 基本语法 3 return 1 break 1.1 基本介绍 break 语句用于终止某个语句块的执行&#xff0c;一般使用在 switch 或者循环[for , while , do-while]中 1.2 基本语法 { ……break…

新时代体育场馆的未来之路——气膜体育馆

近年来&#xff0c;我国正全面贯彻实施全民健身国家战略&#xff0c;秉持“发展群众体育&#xff0c;服务健康中国”的理念&#xff0c;深入推动群众参与的体育活动&#xff0c;努力实现全民健身与全民健康的深度融合发展。在这一大潮中&#xff0c;体育场馆建设成为业内的一项…

tensorflow入门

一、怎样入手TensorFlow TensorFlow是一个用于机器学习和深度学习的开源框架&#xff0c;它提供了一种灵活的方式来构建和训练神经网络模型。以下是一些TensorFlow框架入门的建议&#xff1a; 学习Python语言&#xff1a;TensorFlow主要使用Python语言进行开发&#xff0c;因此…

欧美电商平台Depop如何入驻?

对标美国二手闲鱼平台Mercia,PoshMark、东南亚Etsy&#xff0c;Depop是英国的一个面向创意人群的二手时尚市场&#xff0c;类似于Instagram&#xff0c;但更专注于买卖二手服装、配饰和艺术品。 有研究显示,由于购物预算减少,高达65%的受访者表示乐意在圣诞节购买或收到二手礼…

JDK bug:ciObjectFactory::create_new_metadata:原因完全解析

文章目录 1、问题2.详细日志2.关键日志3.结论4.JDK&#xff1a;bug最终bug链接&#xff1a; 京东遇到过类似bug各位大佬如果有更详细的解答可以留言。 1、问题 服务不通&#xff0c;接口404&#xff0c;查看日志有一下截图&#xff0c;还有一个更详细的日志 2.详细日志 # #…

cpp_04_类_对象_this指针_常对象_常(成员)函数

1 类 1.1 类的定义 类的作用是抽象事物&#xff08;抽取事物特征&#xff09;的规则。 类的外化表现是用户自定义的复合数据类型&#xff08;包括成员变量、成员函数&#xff09;&#xff1a; 成员变量用于表达事物的属性&#xff0c;成员函数用于表达事物的行为。 类的表现…