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>
相关推荐
随笔记7 分钟前
使用vite新搭建react项目,都需要配置什么?
前端·react.js·vite
JiangJiang10 分钟前
🩸 一次失败的降级迁移尝试 **从 Vite + React 19 到 CRA + React 17 的 IE 兼容血泪史**
前端
moyu8413 分钟前
静态声明与动态拦截:从Object.defineProperty到Proxy
前端
kuxku27 分钟前
下一代前端工具链浅析
前端·架构
清风不问烟雨z29 分钟前
不仅仅是 Mock 服务:mock-h3,让前端也能优雅拥有后端能力
前端·javascript·vite
跟橙姐学代码29 分钟前
写 Python 函数别再死抠参数了,这招让代码瞬间灵活
前端·python
前端老鹰30 分钟前
CSS backdrop-filter:给元素背景添加模糊与色调的高级滤镜
前端·css·html
CHEN5_0232 分钟前
【Java基础常见辨析】重载与重写,深拷贝与浅拷贝,抽象类与普通类
java·开发语言
一枚前端小能手34 分钟前
⚡ Node.js服务器慢得像蜗牛,性能优化实战分享
前端·node.js·dnodejs
Lsx_1 小时前
TypeScript 是怎么去查找类型定义的?
前端·javascript·typescript