JavaScript-DAY2学习笔记

1.运算符

1.1 赋值运算符

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

=  将等号右边的值赋予给左边,要求左边必须是一个容器

+=:num = num+1 等价于 num+=1(自加1)

*=、\=同上

1.2 一元运算符

根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符

一元运算符例如+-

自增一元运算符:++ 让变量的值+1;自减一元运算符:-- 让变量的值-1

前置自增:++i;后置自增:i++;前后自增独立使用无区别,参与运算有区别:

  • 前置自增:先自加再使用(++在前 先加)

  • 后置自增:先使用再自加(++在后 后加)

1.3 比较运算符

比较两个数据大小,是否相等

注:

  • =单等是赋值、==是判断、===是全等
  • 比较的结果为boolean类型,即只会得到true或false
  • 比较运算符有隐式转换 ==只判断值,===判断值和数据类型
  • 字符串比较,是比较的字符对应的ASCII码
  • NaN和谁都不等,包括他自己

1.4 逻辑运算符

用来解决多重条件判断

  • 与:&&  全真才真,一假则假
  • 或:||     全假才假,一真则真
  • 非:!   取反

1.5 运算符优先级

优先级运算符顺序
1小括号()
2一元运算符++ -- !
3算术运算符先* / % 后 + -
4关系运算符>     >=    <    <=
5相等运算符==  != ===   !==
6逻辑运算符先&&后||
7赋值运算符=
8逗号运算符,

2.语句

2.1 表达式和语句

表达式和语句的区别:

  • 表达式可被求值,可以写在赋值语句的右侧
  • 语句不一定有值,比如alert() for 和break等语句就不能被用于赋值

2.2 分支语句

三大流程控制语句:

  • 顺序结构:从上往下依次执行
  • 分支结构:根据条件选择执行代码
  • 循环结构:某段代码被重复执行

分支语句包含:if分支语句、三元运算符、switch语句

2.2.1 if语句

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

单分支if语法:

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

注:

  • 括号内的条件为true时,进入大括号里执行代码
  • 小括号内的结果若不是布尔类型时,会发生隐式转换为布尔类型
  • 除了0,所有数字都为真

双分支if语法:

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

案例1:判断平年、闰年

  <script>
    let year = +prompt('请输入年份:')
    if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
      alert(`${year}年是闰年`)
    } else {
      alert(`${year}年是平年`)
    }
  </script>

案例2:判断用户登录

  <script>
    let uname = prompt("请输入用户名")
    let kwd = prompt("请输入密码")
    if (uname === 'poplar' && kwd === '123456') {
      alert('登录成功')
    } else {
      alert('用户名或密码错误')
    }
  </script>

多分支if语法:

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

注:可以写N个条件

案例--根据输入不同的成绩,反馈不同的评价

条件?满足条件执行的代码:不满足条件执行的代码
  <script>
    let score = + prompt('请输入您的成绩')
    if (score > 90) {
      alert('优秀')
    } else if (score > 70) {
      alert('良好')
    } else if (score > 60) {
      alert('及格')
    } else (
      alert('不及格')
    )
  </script>
2.2.2 三元运算符

语法:

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

案例:输入两个数,弹出最大值

  <script>
    let num1 = +prompt('请输入第一个数')
    let num2 = +prompt('请输入第二个数')
    let maxNum = num1 > num2 ? num1 : num2
    alert(`两个数最大的那个是${maxNum}`)
  </script>

数字补0案例:让用户输入一个数,如果数字小于10,则前面进行补0;为后期页面显示时间做铺垫

  <script>
    let num1 = prompt('请输入一个数')
    Number(num1) < 10 ? alert('0' + num1) : alert(num1)
  </script>
2.2.3 switch语句

语法:

switch(数值){
case 值1:
   代码1
break
case 值2:
   代码2
break
case 值3:
   代码3
break
default:
   代码n
break
}

注:

  • 找到跟小括号里数据全等(值相同且数据类型相同)的case值并执行里面对应的代码;如果没有全等则执行defalut里的代码
  • switch case一般用于等值判断,不适合于区间判断
  • switch case一般需要配合break关键字使用,没有break会造成case穿透

案例:简单计算器--用户输入数字和运算符,计算结果

<script>
    let num1 = +prompt('请输入第一个数')
    let num2 = +prompt('请输入第二个数')
    let fuhao = prompt('请输入运算符')
    switch (fuhao) {
      case '+':
        alert(`您做的是加法运算,结果为${num1 + num2}`)
        break
      case '-':
        alert(`您做的是减法运算,结果为${num1 - num2}`)
        break
      case '*':
        alert(`您做的是乘法运算,结果为${num1 * num2}`)
        break
      case '/':
        alert(`您做的是除法运算,结果为${num1 / num2}`)
        break
      default:
        alert(`请输入+-*/等运算符`)
    }
  </script>

2.3 循环语句

循环:重复执行一些操作

while循环:在满足条件期间,重复执行某些代码

while循环基本语法:

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

释义:

  • 满足小括号的条件为true才会进入循环体执行代码
  • while大括号里的代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后在返回小括号判断条件,指导小括号内条件不满足即跳出

while循环三要素:

  1. 变量起始值
  2. 终止条件:没有终止条件,循环会一直执行,造成死循环
  3. 变量变化量:自增或自减

案例--页面打印10次id

  <script>
    let i = 1
    while (i <= 10) {
      document.write('他是一棵杨树<br/>')
      i++
    }
  </script>

案例-从1加到100

  <script>
    let i = 1
    let sum = 0
    while (i <= 100) {
      sum += i
      i++
    }
    alert(sum)
  </script>

案例-从1到100的偶数和

  <script>
    let i = 0
    let sum = 0
    while (i <= 100) {
      sum += i;
      i += 2
    }
    alert(sum)
  </script>

循环退出

break:退出整个循环;一般用于结果已经得到后续循环不需要的时候可以使用

continue:结束本次循环,继续下次循环;用于排除或跳过某一个选项的时候

案例:

  <script>
    while (true) {
      let re = prompt(' do you love me? yes or no')
      if (re === 'yes') {
        break
      }
    }
  </script>

3.综合案例

需求:用户可以选择存钱、取钱、查看余额和退出功能

<script>
    let yue = 100
    while (true) {
      let num = +prompt(`
      请选择您的操作:
      1.存钱
      2.取钱
      3.查看余额
      4.退出`)
      switch (num) {
        case 1: num1 = +prompt('请输入您要存的钱')
          yue += num1
          alert(`存钱成功,您的余额为${yue}`)
          break
        case 2: num2 = +prompt('请输入您要取的钱')
          yue -= num2
          alert(`取钱成功,您的余额为${yue}`)
          break
        case 3:
          alert(`您的余额为${yue}`)
          break
      }
      if (num === 4) {
        break
      }
    }
  </script>

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值