运算符和循环 1.概念: 运算符也叫操作符,是用于实现赋值,比较或者执行算数功能 2.运算符包括: 算数运算符,递增递减运算符,比较运算符,逻辑运算符,赋值运算符 算数运算符: 加(+),减(-),乘(*),除(/),取余/取模(%) 浮点数不要直接参与运算,因为数字会转化为二进制,精度会比较高,计算结果会有偏差 递增递减运算符 前置递增(减):先自加,在进行运算 后置递增(减):先运算,在自加 比较运算符 概念:比较运算符是两个数据进行比较时所使用的运算符,计较之后会返回一个布尔值 常见的比较运算符: 小于号(<) 小于等于(<=) 大于号(>) 大于等于(>=) 判等(==) 判断两边的值是否相等(注意这里会出现隐式转换 会先将字符串隐式转化为数字型再和另外的一个数字进行比较) 全等(===) 不仅要判断两边的值是否相等,还要判断数据类型是否一致 不等号(!=) 不等于(!==) 逻辑运算符 概念:逻辑运算符是用来进行布尔值运算的运算符,其返回的值也是布尔值,在实际开发中经常会遇到多个判断条件 逻辑与&& 逻辑连接起来的条件同时满足返回true,否则返回false 遇假则假 逻辑或|| 逻辑或 || 任一表达式的结果为true 那么整个结果为true 如果所有的表达式结果都为false 那么整个结果就是false 遇真则真 逻辑非! 逻辑非 也叫做取反符 用来取一个布尔值的相反值 ,比如true的相反值false 短路运算 原理:当有多个表达式时,左边的表达式的值可以确定结果时,就不在据需运算右边的表达式的值了 逻辑与 语法:表达式1 && 表达式2 如果第一个表达式为真,就返回表达式2 如果第一个表达式为假,就返回表达式1 逻辑或 表达式1 || 表达式2 如果表达式1的值为真 就返回表达式1 如果表达式1的值为假 就返回表达式2 赋值运算符 作用:把数据赋值给变量的运算符 常用的数值运算符 = += -= *= /= %= 运算符的优先级 优先级从大到小 1.小括号() 2.一元运算符:++ -- ! 3.算术运算符:先*/% 后+- 4.比较运算符:> >= < <= 5.相等运算符:== != === !== 6.逻辑运算符:先&& 后|| 7.赋值运算符:= 8.逗号运算符:, 什么是流程控制 流程控制就是来控制我们的代码需要按照什么结构顺序来执行。 流程控制的结构 顺序结构 顺序结构是程序中最基本的流程控制,没有特定的语法结构,代码会按照先后顺序,一次执行。 分支结构 代码会根据不同的条件判断结果来执行不同的代码分支 js为我们提供了两种分支结构 if 语句 简单if结构(条件成立执行相应代码,否则什么也不做) if (条件表达式){ 条件表达式为真时执行的代码 }; if else 结构(如果条件成立执行if里面的代码,否则执行else里面的代码) 用于多条件判断 if(条件表达式1){ 语句1; }else if(条件表达式2) { 语句2; }else if(条件表达式3) { 语句3; }else{ 上述条件都不满足时执行的代码
switch 语句 switch语句也是多分支的语句,它用于判断不同的条件来执行不同的代码,当我们要针对变量设置一系列特定值进行判断时,可以使用switch语句。 switch (表达式) { case valuel: 执行语句1; break ; case value2: 执行语句2; break ; case value3: 执行语句3; break ; default : 以上条件都不满足,执行的语句; break ;
使用switch时的注意点: switch后的括号内可以是表示或者一个值,通常会用一个变量 关键字 case 后面跟一个选项的表示或者值,后面跟一个冒号 switch表达式的值必须和case 的值是全等, 才会执行相应case下的代码,每个case代码结束要加 break 关键字,表示当前case执行完毕后退出switch语句 如果所有的case的值都和表达式的值不匹配,则执行default中的代码。 if else if 和 switch 语句的区别 一般情况下,两种语句可以实现互相替换 switch... case 语句一般用于处理case的值比较确定的情况, 而if else if 语句更加灵活,通常用于范围判断(大于/小于某个范围) switch语句进行条件判断后直接执行到程序相关语句,效率更高, 而if else if 语句 有多个判断条件,需要进行多次判断才可以。 三元表达式 语法结构: 表达式1 ?表达式2:表达式3 如果表达式1为true,则返回表示式2的值,如果表达式1为false,则返回表达式3的值 例子:var num - prompt( '请输入数字: '); //如果输入的数字小/10就在前南加如果大手等 /10就直接返网输入的最字 varresult-num<10? '0'+num: num; alert(result);
循环结构 for循环 单层for循环 语法结构 for(初始化变量; 条件表达式; 操作表达式) { 循环体 } 初始化变量:通常用于初始化一个计数器,用来记录循环的次数 条件表达式:用于确定每次循环是否能被执行,如果是true 就继续循环,否则退出循环 操作表达式:用于确定每一个循环是否能被执行,每次循环结束后要进行操作表达式的执行。 嵌套for循环 概念: 循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,如果一个for 循环 嵌套了另个一个for循环 ,我们就叫做双重for循环 while循环 语法结构 while(条件表达式) {循环体代码} 执行思路 先执行条件表达式,如果结果为true,就会执行循环体代码,如果为false,就退出循环。 循环体代码每次结束之后,程序会再次判断条件表达式的结果,结果为true会继续循环,否则退出循环 do ... while ... 循环 语法结构 do { 循环体代码; }while(条件表达式);
执行思路 先执行一次循环体代码 再执行条件表达式,如果结果为true就继续执行循环体代码,如果结果为false,就退出循环。 break和continue的使用 continue 使用continue关键字可以立即跳出本次循环,继续进行下一次循环 break
break关键字用于立即跳出整个循环(循环结束)
|