1.运算符(操作符)

1.1运算符的分类

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

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

1.2算数运算符

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

+
-
*
/
%

1.3递增和递减运算符

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

1.4比较运算符

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

>
<
>=
<=
==
!=

1.5逻辑运算符

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

&&
||
!

2.选择结构

2.1if语句

2.1.1语法

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

2.1.2案例1:判断闰年

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

2.2switch语句

2.2.1语法

switch( 表达式 ){
case value1:
// 表达式 等于 value1 时要执行的代码
break;
case value2:
// 表达式 等于 value2 时要执行的代码
break;
default:
// 表达式 不等于任何一个 value 时要执行的代码

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

let num = +prompt('请选择一个数字')
switch(num) {
case 1:document.write('你选择的是1')
break
case 2:document.write('你选择的是2')
break
case 3:document.write('你选择的是3')
break
case 4:document.write('你选择的是4')
break
default:
document.write('输入错误')
break
}

3.循环结构

3.1while循环

3.1.1语法

while(循环条件){
循环体
}

3.1.2案例3:ATM存款取款

while (true) {
let num = 1000 //假设银行卡为1000元
let number = 0 //要存或者取出的钱
let re = +prompt(`
请选择:
1.存款
2.取款
3.查询余额
4.退出
`)
//如果输入4退出循环
if(re === 4){
break
}
switch (re){
case 1:
number = +prompt('请输入要存入的金额')
num += number
document.write(`银行卡余额为:${num}`)
break
case 2:
number = +prompt('请输入要取出的金额')
if (num < number){
document.write('余额不足')
}else {
num -=number
document.write(`银行卡余额为:${num}`)
}
break
case 3:
document.write(`银行卡余额为:${num}`)
break
default:
break
}
}

3.2for循环

3.2.1语法:

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

3.2.2案例4:冒泡排序

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

学习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. 为什么不建议在华为技术论坛(昇腾论坛/mindspore技术论坛)发表帖子和技术博客

    华为的硬件设计技术在国内没得说,华为的硬件制造技术基本就没听说过,而华为的软件技术可是出了名的不咋样.一年前曾经在昇腾的页面进入到华为技术论坛,并且发了几篇关于mindspore的编译问题的帖子,由于 ...

  2. Dolphinscheduler不重启加载Oracle驱动

    转载自刘茫茫看山 问题背景 某天我们的租户反馈数据库连接缺少必要的驱动,我们通过日志查看确实是缺少部分数据库的驱动,因为DolphinScheduler默认只带了Oracle和MySQL的驱动,并且需 ...

  3. 代码随想录Day16

    513.找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值. 假设二叉树中至少有一个节点. 示例 1: 输入: root = [2,1,3] 输出: 1 示 ...

  4. 2024九省联考 数学 T19

    寒假有朋友打电话吐槽九省联考,看了眼数学卷子感觉非常刺激.刚开学没事干,试着做一下 \(19\). (\(17\) 分) 离散对数在密码学中有重要的应用.设 \(p\) 是素数,集合 \(X=\{1, ...

  5. Modbus ASCII 获取数据

    根据银河高低温试验箱协议读取数据 1.协议内容 8.1:通讯协议介绍 8.1.5 通讯设置 本通讯协议使用异步串行通讯方式,1 个起始位.8 个数据位.2 个停止 位.无奇偶校验数据通讯格式,其中数据 ...

  6. 配置 Windows Boot Manager

    配置 Windows Boot Manager 通常需要使用 bcdedit 命令,这是一个命令行工具,用于管理 Boot Configuration Data (BCD) 存储.BCD 存储包含了启 ...

  7. 使用 Gradle 构建包含所有依赖的 JAR 包

    在 Gradle 中构建一个包含所有依赖的 jar 包(通常被称为"fat jar"或者"uber jar"),你可以使用 shadowJar 插件来包含编译的 ...

  8. C++: 16个基础的C++代码性能优化实例

    前言 近期推动项目屎山代码进行了一波性能优化,实现了较大的性能提升.这里记录了部分近期代码优化的小技巧,这些例子仅从C++语言层面进行优化,主要在于优化类设计.减少隐含函数调用.减少拷贝等,较为基础实 ...

  9. opencv equalizeHist

    ''' What are histograms? Histograms are collected counts of data organized into a set of predefined ...

  10. Identity – Permission Claims & UserClaimsPrincipalFactory

    前言 在 Identity – Authorize 有介绍过, Identity 的验证核心是 Claims. 在 Identity – Without Identity Framework 也看到了 ...