JavaScript基础语法two

一、运算符

赋值运算符

对变量进行赋值,符号:=

+=,-=,*=,/=

javascript 复制代码
 <script>
    let num = 1
    num = num + 1
    //num += 1
    console.log(num);
    
  </script>
一元运算符

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

javascript 复制代码
<script>
    //二元运算符
  let num = 10 + 20
  //一元运算符
  //正负号
  //自增:++,自减:--
  let num1 = 1
  //前置自增
  ++num1
  console.log(num1);
  //后置自增,num1++
  </script>

区别:前置自增,后置自增单独使用没有区别,如果参与运算就有区别:前置自增:先加在使用,后置自增:先使用在加

javascript 复制代码
let num = 1
console.log(num++ + ++num +num)//7
比较运算符

< ,>, >=, <=, == ,===, !==,!=

javascript 复制代码
 <script>
    console.log(2 == 2)//true
    console.log(2 == '2')//true
    console.log(2 === 2)//true
    //===全等,要判断值和数据类型都一样才行
    console.log(2 === '2')//false
    console.log(NaN === NaN)//false,NaN不等于任何人,包括它自己
  </script>

字符串比较,比较字符对应的ASCll码

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

比较运算符返回结果是boolean类型

比较运算数据类型会被转换成数字类型(隐式转换)

逻辑运算符

解决多重条件判断

&&(逻辑与,一假则假),||(逻辑或,一真则真),!(逻辑非:取反)

运算符优先级

优先级:小括号>一元运算符(++,--,!,逻辑非优先级高)>算数运算符>关系运算符>相等运算符>逻辑运算符(先&&后||)>赋值运算符>逗号运算符

二、语句

表达式和语句

表达式:可被求值,写在赋值语句右侧,例如:num = 3 + 4

语句:不一定有值,是一段可执行代码,例如:alert()弹出对话框

分支语句

三大流程控制语句:顺序结构,分支结构,循环结构

分支语句:

if语句(单分支,双分支,多分支)

if里面的条件除了' ',所有字符串都是真

三元运算符:条件?满足条件执行的代码:不满足条件执行的代码

switch语句(必须是全等===):找到跟小括号里数据全等的case值,一般用于等值判断

javascript 复制代码
switch(数据){
  case 值1:
       代码
       break
  case 值2:
       代码
       break 
  case 值3:
       代码
       break
       ......
  default:
}
循环语句

断点调试:

浏览器打开调试界面:F12打开开发者工具,点sources,选择代码文件

while循环:

javascript 复制代码
while(循环条件){
要重复执行的代码(循环体)
}
javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    //页面输出1-100
    let i = 1
    while (i <= 100){
      document.write(`这个第${i}个数<br>`)
      i++
    }
    //计算1加到100的和
    let num = 1
    let sum = 0
    while (num <= 100){
      sum += num
      num++
    }
    document.write(`1加到100的和为${sum}<br>`)
    //计算1加到100的偶数和
    let num1 = 1
    let sum1 = 0
    while (num1 <= 100){
      if (num1 % 2 === 0){
        sum1 += num1
      }
       num1++
    }
    document.write(`1加到100的偶数和为${sum1}`)
  </script>
</body>
</html>

循环结束:

break:结束本层循环

continue:结束本次循环,继续下一轮循环

javascript 复制代码
<script>
    while (true){
      let str = prompt('你爱我吗')
      if (str ==='爱'){
        break
      }
    }
  </script>

三、综合案例

简易ATM取款机案例

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    let totalMoney = 100
    while (true) {
      let result = +prompt(`
      请您选择操作:
      1.存钱
      2.取钱
      3.查看余额
      4.退出
      `)
      if (result === 4) {
        break
      }
      switch (result) {
        case 1:
          totalMoney += +prompt('请输入存款金额')
          break
        case 2:
          totalMoney -= +prompt('请输入取款款金额')
          break
        case 3:
          alert(`您的银行卡余额为${totalMoney}`)
          break
      }
    }
  </script>
</body>
</html>
相关推荐
至此流年莫相忘3 分钟前
设计模式:模板方法模式
java·开发语言·设计模式
因吹斯汀25 分钟前
一饭封神:当AI厨神遇上你的冰箱,八大菜系大师在线battle!
前端·vue.js·ai编程
再学一点就睡29 分钟前
NATAPP 内网穿透指南:让本地项目轻松 “走出去”
前端
拜无忧30 分钟前
2025最新React项目架构指南:从零到一,为前端小白打造
前端·react.js·typescript
稻草人不怕疼31 分钟前
记一次从“按钮点不动”到“窗口派发缺失”的排查过程
前端
土了个豆子的39 分钟前
02.继承MonoBehaviour的单例模式基类
开发语言·visualstudio·单例模式·c#·里氏替换原则
qq_172805591 小时前
Go 自建库的使用教程与测试
开发语言·后端·golang
irving同学462381 小时前
TypeORM 列装饰器完整总结
前端·后端·nestjs
久绊A1 小时前
Hydra-SSH 破解安全防范
开发语言·php
彭于晏爱编程1 小时前
你真的了解 Map、Set 嘛
前端