JavaScript运算符,流程控制

JavaScript运算符

算术运算符

算术运算符:+、-、*、/、%(取模)

ps:注意浮点数的精度问题

//0.30000000000000004
var result = 0.1 +0.2;

递增递减运算符

前置递增/递减运算符

前置运算符是先加减再用。

var a = 10;
// 运算完后b = 13,a = 11
var b = ++a + 2;
后置递增/递减运算符

后置运算符是先用再加减。

var a = 10;
// 运算完后b = 12,a = 11 
var b = a++ + 2;

比较运算符

比较运算符会返回boolean值,>,<,>=,<=在使用时也会自动转型。

运算符说明
==判断是否相等(会自动转型)
!=判断是否不等(会自动转型)
=== !==全等 要求值和数据类型都为一致
var a = 10;
//true
console.log(a == '10');
//false
console.log(a === '10');

逻辑运算符

逻辑与:&& ,等式两边都为true才返回true

ps:逻辑运算符在进行运算时,若运算符两边都为boolean则返回的也为boolean,若两边的为准确值则返回其中一边的值。

逻辑与的短路运算:

语法:表达式1 && 表达式2

  • 表达式1为真则不短路,到表达式2,最后返回表达式2的值
  • 表达式1为假则短路,表达式2不执行,直接返回表达式1
var num = 1;
// a = 0, num = 1;
var a = 0 && num ++;

//''  (如果有空的或者否定的为假 其余是真的 0 '' null undefined NaN)
console.log('' && 1 + 2 && 456 * 56789); 

逻辑或:||,等式两边都为false才为false

逻辑或的短路运算:

语法:表达式1 ||表达式2

  • 表达式1为true则短路,表达式2不执行,最后返回表达式1的值
  • 表达式2为false则不短路,表达式2执行,最后返回表达式2的值
var num = 1;
// a = 1, num = 2;
var a = 0 || num ++;

逻辑非:!,结果取反就行。

赋值运算符

赋值运算符包括:= 、 += 、 -= 、 *= 、 /= 、 %=。

运算符优先级

优先级运算符顺序
1括号()
2一元运算符++ – !
3算术运算符* / % + -
4关系运算符> >= < <=
5相等运算符== != === !==
6逻辑运算符&&
7赋值运算符=
8逗号运算符

ps:在逻辑运算符中&&比||优先级高。

流程控制

流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构。

顺序流程控制

顺序流程控制按照代码先后顺序依次执行。

分支流程控制

if语句
  • 简单的if语句
var a = 2;
if(a = 2){
    a++;
}
//运行结果a=3
  • if else语句
var a = 2;
if(a = 3){
    a = 4;
}else{
    a = 5;
//运行结果a=5
  • if else if语句
var a = 2;
if(a = 3){
    a++;
}else if(a = 2){
    a = 5;
}else{
     a = 6;
}
//运行结果a=5
三元表达式

语法:表达式1 ?表达式2 : 表达式3;
顺序:若表达式1的值为true则返回表达式2的值,否则返回表达式3的值。

var a = 1
// b = 2
var b = a > 2 ? a : a+1; 
switch语句

switch和case的值在比较时是全等!类型和值都要相同!

var age = '18';
switch(age){
    case '17':
        age = 0;
        break;
    case '18':
        age = 1;
        break;
    default:
        age = 2;
}
//运行结果age = 1

循环流程控制

for循环

for循环的语法:

for(初始化变量; 条件表达式; 操作表达式 ){

//循环体语句

}

var a = 1;
for(var i = 1 ; i <=10 ; i++){
    a++;
}
for循环的嵌套

外层for循环每执行一次,内层执行全部次数。

经典例子:倒三角(外层控制行数,内存控制一行有几个)

注意i,j的关系

var num = parseInt(prompt("请输入行列的数量"));
      var star = "";
      for (var i = 1; i <=num; i++) {
        for (var j = i; j <= num; j++) {
          star += "★";
        }
        //打印完换行
        star += "\n";
      }
      console.log(star);
while循环
while(条件表达式){
//循环体代码
}

为了避免死循环一定要注意退出条件

比如:

var a = 1;
while(a<4){
    console.log('hello');
    //为了控制循环次数避免死循环,要使得a自增
    a++;
}
do while 循环

do while是while的变式,该循环会先执行一次循环体在判断while条件。

do{
//循环体
}while(条件表达式);
continue break
  • continue用于跳出本次循环,直接进行下一次循环。
  • break用于立即跳出最内层循环。(如果没有循环的嵌套就立即结束整个循环)

练习

运算符,流程控制练习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值