1.运算符(操作符)

1.1运算符的分类

运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。

  • 算数运算符
  • 递增和递减运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符

1.2算数运算符

算术运算符概述
概念:算术运算使用的符号,用于执行两个变量或值的算术运算。

  1. +
  2. -
  3. *
  4. /
  5. %

1.3递增和递减运算符

递增和递减运算符概述
如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减( – )运算符来完成。
递增运算符
前置递增运算符
++num 前置递增,就是自加1,类似于 num = num + 1,但是 ++num 写起来更简单。
使用口诀:先自加,后返回值。
后置递增运算符
num++ 后置递增,就是自加1,类似于 num = num + 1 ,但是 num++ 写起来更简单。
使用口诀:先返回原值,后自加。

1.4比较运算符

比较运算符概述
概念:比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。

  1. >
  2. <
  3. >=
  4. <=
  5. ==
  6. !=

1.5逻辑运算符

逻辑运算符概述
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断。

  1. &&
  2. ||
  3. !

2.选择结构

2.1if语句

2.1.1语法

  1. // 条件成立执行代码,否则什么也不做
  2. if (条件表达式) {
  3. // 条件成立执行的代码语句
  4. }else{
  5. //条件不成立sh时执行的代码语句
  6. }

2.1.2案例1:判断闰年

  1. <script>
  2. let year = prompt('请输入一个年份')
  3. if(year % 4 === 0 && year % 100 !== 0 || year % 400 ===0){
  4. document.write(`${year}是闰年`)
  5. }else {
  6. document.write(`${year}不是闰年`)
  7. }
  8. </script>

2.2switch语句

2.2.1语法

  1. switch( 表达式 ){
  2. case value1:
  3. // 表达式 等于 value1 时要执行的代码
  4. break;
  5. case value2:
  6. // 表达式 等于 value2 时要执行的代码
  7. break;
  8. default:
  9. // 表达式 不等于任何一个 value 时要执行的代码

2.2.2案例2:选择要进行的操作

  1. let num = +prompt('请选择一个数字')
  2. switch(num) {
  3. case 1:document.write('你选择的是1')
  4. break
  5. case 2:document.write('你选择的是2')
  6. break
  7. case 3:document.write('你选择的是3')
  8. break
  9. case 4:document.write('你选择的是4')
  10. break
  11. default:
  12. document.write('输入错误')
  13. break
  14. }

3.循环结构

3.1while循环

3.1.1语法

  1. while(循环条件){
  2. 循环体
  3. }

3.1.2案例3:ATM存款取款

  1. while (true) {
  2. let num = 1000 //假设银行卡为1000元
  3. let number = 0 //要存或者取出的钱
  4. let re = +prompt(`
  5. 请选择:
  6. 1.存款
  7. 2.取款
  8. 3.查询余额
  9. 4.退出
  10. `)
  11. //如果输入4退出循环
  12. if(re === 4){
  13. break
  14. }
  15. switch (re){
  16. case 1:
  17. number = +prompt('请输入要存入的金额')
  18. num += number
  19. document.write(`银行卡余额为:${num}`)
  20. break
  21. case 2:
  22. number = +prompt('请输入要取出的金额')
  23. if (num < number){
  24. document.write('余额不足')
  25. }else {
  26. num -=number
  27. document.write(`银行卡余额为:${num}`)
  28. }
  29. break
  30. case 3:
  31. document.write(`银行卡余额为:${num}`)
  32. break
  33. default:
  34. break
  35. }
  36. }

3.2for循环

3.2.1语法:

  1. for(变量起始值;终止条件;变量变化量){
  2. 循环体
  3. }

3.2.2案例4:冒泡排序

  1. let nums = [9,8,7,6,5,4,3,2,1]
  2. for (let i = 0; i < 10; i++){
  3. for (let j = 0; j < 10-i; j++){
  4. if(nums[j] > nums[j + 1]){
  5. let temp = nums[j]
  6. nums[j] = nums[j + 1]
  7. nums[j + 1] = temp
  8. }
  9. }
  10. }
  11. //打印排序好的数组
  12. for (let i = 0; i < 10; i++){
  13. document.write(`${nums[i]}`)
  14. }

学习JavaScript第二天的更多相关文章

  1. 学习JavaScript 第二周

    分支结构中的switch switch(值&条件表达式){ case 值: 操作: break; case 值: 操作: break; ... default: 默认操作 } switch根据 ...

  2. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  3. 一步步学习javascript基础篇(8):细说事件

    终于学到事件了,不知道为何听到“事件”就有一种莫名的兴奋.可能是之前的那些知识点过于枯燥无味吧,说起事件感觉顿时高大上了.今天我们就来好好分析下这个高大上的东西. 可以说,如果没有事件我们的页面就只能 ...

  4. 一步步学习javascript基础篇(6):函数表达式之【闭包】

    回顾前面介绍过的三种定义函数方式 1. function sum (num1, num2) { return num1 + num2; }  //函数声明语法定义 2. var sum = funct ...

  5. 一步步学习javascript基础篇(4):面向对象设计之创建对象(工厂、原型和构造函数等模式)

    前面我们介绍了可以通过Object构造函数或对象字面量都可以用来创建单个对象,但是如果需要创建多个对象的话,显然很多冗余代码. 接下来介绍几种模式来创建对象.不过在此之前,我们还是先来了解下 type ...

  6. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  7. 一步步学习javascript基础篇(1):基本概念

    一.数据类型 数据类型 基本数据类型(五种) Undefined Null Boolean Number String 复杂数据类型(一种) Object Undefined:只有一个值undefin ...

  8. 转:如何学习javascript

    ps:每过一段时间就会发觉自己懂的越来越少,打开编辑器的时候不知道从何入手.兴许是过于急于求成,总没有系统地去对这门语言进行学习,囫囵吞枣,只想着能够解决工作需求.是时候让自己重新出发,从零开始,一页 ...

  9. 每个程序员都需要学习 JavaScript 的7个理由

    最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于JavaScript.Web开发人员尤其如此.所以,如果你是一个程序员,那么你应该去学习JavaScript ...

  10. 学习KnockOut第二篇之Counter

                                                                        学习KnockOut第二篇之Counter        欲看此 ...

随机推荐

  1. Windows系统下硬盘S.M.A.R.T硬盘检测工具——硬盘检测工具(CrystalDiskInfo)

    CrystalDiskInfo是由日本人hiyohiyo个人开发的小工具,能全面详细直观的检查硬盘的健康状态及各种参数. 绿色版软件. 官方下载地址: https://crystalmark.info ...

  2. SMU Summer 2024 Contest Round 5

    SMU Summer 2024 Contest Round 5 Robot Takahashi 思路 按照 \(W_i\) 排个序,算一下前缀后缀 1 和 0 的个数就行了.答案大概是一个 \(\ma ...

  3. 7E头的那些事儿(帧格式分析实例)

    0. 前言 作为一名嵌入式工程师,经常需要通过UART与外设打交道,而对于串行总线来说,往往我们必须要进行帧同步.通常的做法是把信令包含在2个0x7E的中间. 除此之外还有HDLC.PPP等协议也会到 ...

  4. Java常用类——包装类 小白版个人推荐

    包装类及自动装箱/拆箱 包装类是将Java中的八种基本数据类型封装成的类,所有数据类型都能很方便地与对应的包装类相互转换,以解决应用中要求使用数据类型,而不能使用基本数据类型的情况. int a = ...

  5. 初三年后集训测试---T1排序

    初三年后集训测试 $T 1 $ 排序 $$HZOI$$ ·题意: 给定 \(4n\) 个整数,求 : \[\max\{\sum_{i=1}^{4n}(A_{i,1} \times A_{i,2} - ...

  6. Ubuntu 安装 Docker Desktop

    介绍 Docker 有两种版本:Docker Desktop 和 Docker Engine (也称作 Docker CE).Docker Desktop 是带图形界面的版本,非常适合需要在桌面环境中 ...

  7. Consider defining a bean of type 'xxxxxx' in your configuration.

    解决: 在Application类上新增@EnableConfigurationProperties({ xxxxxx.class})

  8. 小忙半个月搞个CKA,可还行,搞完后发现自己被割韭菜了

  9. 中文关键字检索分析-导出到csv或者excel-多文件或文件夹-使用python和asyncio和pandas的dataframe

    1.02版本 把原来的tab一个个拼接成文件输出,改成pandas的dataframe 使用asyncio库来使用协程,但是测试下来速度好像是差不多的.可能速度太快了,没能很好的测出来差异. 原来的最 ...

  10. JavaScript – Modular

    前言 我几乎闪过了那几年的 Modular 混乱时代. CommonJS 火的时候, 我没有用 Node.js AMD, CMD 火的时候, 我的项目还小, 加上用了 AngularJS 自带模块功能 ...