运算符,流程控制,循环控制

算术运算符

预算符 描述 实例
+ 12 + 12
- 12 - 12
* 12 * 12
/ 12 / 12
% 取余 12 % 12

处理浮点数运算存在精度问题,不要直接判断两个浮点数是否相等;

递增递减运算符

var num = 2;
// 前置递增 递减
console.log(++num); // num = num + 1;  先加1 后返回值
console.log(--num);
// 后置递增 递减
console.log(num++); // num = num + 1; 先返回原值,后 +1
console.log(num--);

比较运算符

比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true,false)最为比较的结果

运算符 说明 案例
> 大于 1 > 2 (false)
< 小于 1 < 2 (true)
>= 大于等于 2 >= 2 (true)
<= 小于等于 2 <= 2 (true)
== 判等号(会转型) 37 == 37 (true)
!= 不等于 23 != 23 (false)
=== !== 全等要求数据类型一致 23 === '23' (false)

逻辑运算符

运算符 说明 案例
&& 逻辑 与 简称 与 and true && false 都为true 才是 true
|| 逻辑 或 简称 或 or `true
! 逻辑 非 简称 非 not !true

短路运算 当有多个表达式值时,左边的表达式值可以确定结果时,就不再继续运算右边表达式的值;

  • 逻辑 与 &&: 如果第一个表达式为真,则直接返回表达式二;如果第一个表达式为假,则返回表达式一;

  • 逻辑 或 ||: 如果表达式一 结果为真,则返回表达式一,如果表达式一结果为假,则返回表达式二;

console.log(123 && 321); // 321 
console.log(0 && 321); // 0
console.log(null || 123); // 123
console.log(123 || 321); // 123

赋值运算符

运算符 说明 案例
= 直接赋值 var age = 19;
+=, -= 加,减一个数后在赋值 var age = 9; age += 10; // 19
*=, /=, %= 乘,除,取余后在赋值 var age = 1; age *= 19; //19

运算符优先级

()  括号
先 ++ 后 --
先 * / % 后 + -
关系运算符 > >= < <=
相等运算符 == != === !==
逻辑运算符 先 && 后 ||
赋值运算符 =
逗号运算符 ,

流程控制

分支流程控制

代码由上到下执行,根据不同的条件,执行不同路径的代码,从而得到不同的结果

if 语句

// 只有条件表达式结果为true的时候才会执行 if 里面的代码
if (条件表达式) {
	// 执行语句1
} else if (条件表达式) { // 不满足 if 语句时,执行 else if 
    // 执行语句2   
} else { // 都不满足 执行 else
    // 执行语句3
}

三元表达式

// 条件表达式 ? 表达式1 : 表达式2
var num = 5;
num > 4 ? console.log(true) : console.log(false);

switch 语句

switch 也是多分支语句,它用于基于不同的条件来执行不同的代码,当要针对变量设置一系列的特定值选项时,就可以使用switch;

// 用表达式的值 和 value 值匹配, 如果都不匹配就直接执行 default
// 表达式的值必须和value的值是 全等 值相等,数据类型相等
switch(表达式) {
    case value1:
        // 执行语句 1
    	break;
    case value2:
        // 执行语句 2
    	break;
    ...
    default:
    	// 执行语句 n
}

循环流程控制

for循环

for (初始化变量; 条件表达式; 操作表达式) {
	// 执行语句
}
// 初始化变量:就是用var声明的一个变量,通常与计数有关
// 条件表达式:就是用来决定每次for循环是否继续执行的终止条件
// 操作表达式:是每次循环最后执行的代码,经常用于计数器变量进行更新(递增或者递减)

多重for循环

// 外层循环执行一次 内层循环执行全部
for (var i = 0; i <= 2; i++) {
  console.log('这是外层循环' + i + '次');
  for (var j = 0; j <= 2; j++) {
    console.log('这是中间循环' + j + '次');
  }
}
// 倒三角案例
var str = '';
for (var row = 1; row <= 9; row++) {
    for (var col = row; col <= 9; col++) {
        str += '😂';
    }
    str += '\n';
}
console.log(str);
// 乘法表案例
var str = '';
for (var row = 1; row <= 9; row++) {
    for (var col = 1; col <= row; col++) {
        str += col + ' x ' + row + ' = ' + col * row + '\t';
    }
    str += '\n';
}
console.log(str);

while循环

// 当条件表达式结果为 true 则执行循环体 否则推出循环
while(条件表达式) {
   // 执行语句
}

do while 循环

// 先执行循环体再判断条件,如果条件表达式为真继续执行循环体,否则推出循环;至少执行一次
do {
    // 循环体
} while(条件表达式)

continue 关键字

for (var i = 1; i <= 100; i++) {
	if (i % 5 == 0) {
		continue; // 取余 5 为 0 时,结束本次循环,不在执行 console 语句,直接跳转值 i++;
	}
	console.log(i);
}

break 关键字

for (var i = 1; i <= 5; i++) {
    if (i == 3) {
        break; // i 为 3 时,结束整个循环,不在执行整个 for 语句;
    }
    console.log(i);
}
posted @ 2020-03-22 22:40  计算机相关人员  阅读(170)  评论(0编辑  收藏  举报