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>
相关推荐
南极星10054 分钟前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言
未来之窗软件服务7 分钟前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
baidu_247438618 分钟前
Android ViewModel定时任务
android·开发语言·javascript
嘿起屁儿整21 分钟前
面试点(网络层面)
前端·网络
Dev7z21 分钟前
基于 MATLAB 的铣削切削力建模与仿真
开发语言·matlab
不能隔夜的咖喱27 分钟前
牛客网刷题(2)
java·开发语言·算法
VT.馒头27 分钟前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
小天源34 分钟前
Error 1053 Error 1067 服务“启动后立即停止” Java / Python 程序无法后台运行 windows nssm注册器下载与报错处理
开发语言·windows·python·nssm·error 1053·error 1067
有位神秘人1 小时前
Android中Notification的使用详解
android·java·javascript
肉包_5111 小时前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++