当前位置: 首页 > news >正文

运算符和js语句

一、运算符

1.算术运算符

+(加) - (减) *(乘) / (除) %(取余) ++(自增:变量值加1) --(自减:变量值减1)

如果++在变量后面,则为先赋值后自增,如果++在变量前面,则为先自增后赋值。(--也是一样)

let num1 = 10; let num2 = num1++; console.log(num1,num2); // num1为11,num2为10 let num3 = 10; let num4 = ++num3; console.log(num3,num4); // num3为11,num4为11

2.赋值运算符

=(等于) +=(加等于) -=(减等于) *=(乘等于) /=(除等于) %=(取余等于)

将 赋值运算符 右侧的值 加到(减到,乘到,除到,取余到) 左侧的变量上 , 然后将运算结果赋给左侧的变量 就是+=(-= ,*= ,/= ,%=)

let num1 = 22; let num2 = 10; let num3 = num1+=num2 console.log(num1,num2,num3); // num1为32,num2为10,num3为32 let num4 = num1-=num2 console.log(num1,num2,num4); // num1为22,num2为10,num3为22 let num5 = num1*=num2 console.log(num1,num2,num5); // num1为220,num2为10,num3为220 let num6 = num1/=num2 console.log(num1,num2,num6); // num1为22,num2为10,num3为22 let num7 = num1%=num2 console.log(num1,num2,num7); // num1为2,num2为10,num3为2

3.比较运算符

==(判断值是否相等) ===(判断数据类型的值是否相等) >(大于) >=(大于等于) <(小于) <= (小于等于) !=(不等于)

4.逻辑运算符

&&(与) || (或) ! (非)

5.三元运算符

比较表达式?表达式1:表达式2(如果比较表达式条件满足则返回表达式1,如果不满足则返回表达式2)

let num1 = 22; let num2 = 10; (num1>num2)?console.log('num1>num2'):console.log('num<=num2');//num1>num2

6.运算符优先级排列

  1. 1️⃣小括号:()

  2. 2️⃣一元运算符:++、--、!

  3. 3️⃣算数运算符:先 * / % 后 + -

  4. 4️⃣关系运算符:>、>=、<、<=

  5. 5️⃣相等运算符:==、!=、===、!==

  6. 6️⃣逻辑运算符:先 && 后 ||

  7. 7️⃣赋值运算符:=

  8. 8️⃣逗号运算符:,

二:js语句

1. if 条件语句

if ( 条件语句 ) { 代码块 }条件语句为true(真)则执行代码块里面的内容

if ( 条件语句 ) { 代码块1 } else { 代码块2 }条件语句为true(真)则执行代码块1的内容,条件语句为false(假)则执行代码块2的内容

if ( 条件语句1 ) { 代码块1 } else if ( 条件语句2 ) { 代码块2 }else { 代码块3 }先看条件语句1为true(真)则执行代码块1的内容,条件语句1为false(假)再看条件语句2为true(真)则执行代码块2的内容,如果条件语句1和条件语句2都为false则执行代码块3的内容;条件语句可以叠加嵌套使用

let a = 10; let b = 5; if(a==b){ console.log('a等于b'); }else if (a>b){ console.log('a大于b'); //a大于b if(a==10){ console.log('a等于10'); //a等于10 }else{ console.log('a不等于10'); } }else{ console.log('a小于b'); }

2. switch 分支语句

switch(表达式) {

case 条件1 :

代码块1;

break;

case 条件2 :

代码块2;

break;

default:

执行最后的语句;

break;

}

每个条件后面代码块写完之后要跟break代表结束,如果不写break,代码会继续往下走,直到遇到break,default可以不放在最后执行,放在别的位置时代码块后面要跟break进行隔断,default放在最后可以不用写break

注意点:switch中的条件会用===比较,因此case 1不会匹配到字符串“1”,同样也不能用case>1来进行判断,也不能有重复的case值判断

let day = new Date().getDay(); switch(day){ case 1: console.log('星期一'); break; case 2: console.log('星期一'); break; case 3: console.log('星期一'); break; case 4: case 5: console.log('快到周末了'); //当day的值为4的时候没有break阻止会执行‘快到周末了’,所以当day的值为4和5的时候执行'快到周末了' break; default: console.log('周末了'); break; }

3. for 循环

for ( 定义变量 ; 设置条件 ; 变量操作 ; ) { 循环体 }

for(let i = 0;i<5;i++){ console.log(i); // 0 1 2 3 4 }

4. while 循环

while ( 条件 ) { 循环体 }

let i = 0; while(i<5){ console.log(i); // 0 1 2 3 4 i++; }

5. do while 循环

do { 循环体 } while ( 判断条件 )

do while语句即使不满足判断条件也会执行一次循环体

let i = 0; do{ console.log(i); //0 1 2 3 4 i++; }while(i<5)

6. for in 循环

for( 变量名 in 带键的循环对象 ){ 循环体 }

let json = { name:'jack', age:18, core:90 }; for(i in json){ console.log(i+':'+json[i]); //name:jack age:18 core:90 }

7. for of 循环

for( 变量名 of 循环对象 ){ 循环体 }

let arr = ['a','b','c']; for(i of arr){ console.log(i); //a b c }

8.使用合适的循环

for循环可以用于需要执行特定的循环次数

while和do while用于当判断条件为true时执行循环,不符合条件自动跳出循环,不需要知道循环多少次

for in循环适用于循环对象的key(键)或者对象的属性名

for of循环适用于循环数组

9. 关键字 continue 和 break

continue是指跳过前面的if判断条件,继续执行后面的代码

而break时符合if的判断条件直接跳出该循环,不再执行后面的循环

for(let i = 0;i<6;i++){ if(i==3)continue; console.log(i); // 0 1 2 4 5 } for(let i = 0;i<6;i++){ if(i==3)break; console.log(i); // 0 1 2 }
http://www.cnnetsun.cn/news/1287654.html

相关文章:

  • 提升安卓开发效率:用快马ai一键生成mvvm网络请求框架代码
  • 从零实现卡尔曼滤波:Arduino与MPU6050的传感器数据融合实战
  • 【Windows】Dify + Ollama/Xinference/GPUStack:一站式AI开发环境搭建指南
  • 零基础入门:Sambert多情感语音合成镜像部署指南,3步搭建Web服务
  • 基于Arduino的智能循迹小车设计与PID优化实战
  • 通义千问3-VL-Reranker-8B效果展示:图文视频混合检索,排序精准度实测
  • OpenHD轻量化移植:用Ubuntu笔记本替代树莓派打造低成本高清图传地面站
  • Codeforces Round 1082 (Div. 2) E
  • SpringBoot基于Web的智能家教服务平台
  • NVIDIA Profile Inspector 深度优化指南:从硬件潜力到极致体验
  • 【正点原子I.MX6U-MINI】从零到系统启动:uboot编译与EMMC固化的完整实践
  • 快马平台一键生成Spring Boot用户管理原型,5分钟搭建可运行后端服务
  • 基于立创地文星开发板的USB-Hub电压电流表DIY全解析:硬件选型、软件配置与外壳设计
  • 【数字电子技术课程设计】基于FPGA的高精度数字电子钟设计与实现
  • Allegro17.4异形焊盘实战:从DXF导入到Padstack的完整流程
  • 提升创作效率:用快马平台打造可实时迭代的旗博士口播智能体
  • 如何在遵守协议前提下实现高效内容访问:解锁信息价值的技术方案与合规指南
  • 快马平台五分钟搭建openclaw抓取原型,验证你的数据采集想法
  • 泰山派RK3576开发板Android 14系统ADB调试与投屏实战指南
  • ESP32双模通信实战:从Wi-Fi联网到蓝牙透传的物联网应用
  • Unity SLG战棋游戏开发实战:从源码解析到功能实现
  • AI赋能开发:让快马平台的Kimi模型优化你的esp8266代码,实现智能节电与稳定上报
  • FBX转STP在线工具大比拼:哪款更适合你的3D设计需求?
  • RK3566小手机MIPI-DSI显示适配与背光驱动实战
  • Qwen3.5-35B-A3B-AWQ-4bit入门指南:清晰图优先策略+分步提问技巧详解
  • gte-base-zh效果对比:与其他开源嵌入模型的横向评测
  • 基于NTC热敏电阻的电子鞭炮明火点火系统设计
  • CANoe_UDS-bootloader自动化测试系列(三)核心引擎:CAPL构建UDS诊断报文收发与状态机解析框架
  • GLM-OCR快速入门实战:上传图片秒出结果,文本、表格、公式都能识别
  • Gemma-3-12b-it持续集成教程:GitHub Actions自动化镜像构建流程