前端基础(JavaScript 二)——操作符、流程控制语句

一、操作符

1.表达式

  表达式就是将同类型的数据如:常量、变量、函数等,用运算符号按一定的规则连接起来的,有意义的式子叫做表达式。这里提到的运算符号就是操作符。

2.操作符的分类

算数操作符

  算数操作符比较常见的就是数学中常见的加(+)、减(-)、乘(✖)、除(/)、取余(%)、自增(++)、自减(–)。加减乘除和取余(取余就是得到余数,如5%2结果为1)这边就不作演示了,主要给大家演示一下取余、自增和自减。
  自增:

	var a = 1;
	a++;
	console.log(a);/*结果输出为2*/

  还有一种是++a:

	var a = 1;
	console.log(++a);/*结果输出也为2*/

  但如果把上述的++a换成a++,会发现结果为1:

	var a = 1;
	console.log(a++);

在这里插入图片描述
  原因是因为a++等价于a += 1,即a = a + 1,相当于使用a的值之后才会加一,而++a会在使用a的值之前对a进行加一的操作,所以导致了结果的不同。
  当然加号不仅仅能实现数值的相加,对于字符串等也可以通过加号来进行操作,具体如下:

	var a = 1 + 'abc';
	console.log(a);
	var b = true + false;
	console.log(b);

结果:
在这里插入图片描述

赋值操作符

  赋值操作符分为简单赋值和复合赋值,简单赋值就是我们常用的“=”,而复合赋值有“+=”、“-=”、“*=”、“/=”、“%=”,这些其实都类似于上面有提到的“+=”,例如a+=1就等价于a = a + 1,其他复合赋值符号同理,具体例子如下:

	var a = 1;
	a += 3;
	console.log(a);
	a *= 2;
	console.log(a);
	a /= 2;
	console.log(a);
	a %= 3;
	console.log(a);

在这里插入图片描述

比较操作符

  常见的比较运算符有:>(大于)、>=(大于等于)、<(小于)、<=(小于等于),就是和数学中的定义一样,这里需要记住的是比较表达式返回的值是布尔类型的值,例如:

console.log(5 > 3);

输出结果:
在这里插入图片描述

三元操作符

  三元操作符形如:

	5>3?console.log("输出表达式一"):("输出表达式二");

  ?前面的表示判断条件,如果条件成立的话,就执行?后面的第一个表达式,若未成立,则执行:后面的表达式,结果如:
在这里插入图片描述

逻辑操作符

  逻辑操作符常见的有三种:逻辑与(&&)、逻辑或(||)、逻辑非(!)。
  逻辑与:条件都真,结果才为真,如果条件不为布尔值,则返回值规则为,条件1为真,则返回条件2,条件1为假,则返回条件1。具体样例如下:

	console.log(true&&true);
	console.log(false&&true);
	console.log(1&&2);
	console.log(1&&null&&'');

结果:
在这里插入图片描述
  逻辑或:条件有一个为真,结果就为真,如果条件不为布尔值,条件1为真,则返回条件1,若条件1为假,则返回条件2。具体样例如下:

	console.log(false||false);
	console.log(false||true);
	console.log(1||2);
	console.log(null||'');

结果:
在这里插入图片描述
  逻辑非:将布尔类型的值取反,具体样例如下:

	console.log(!true);
	console.log(!1);
	console.log(!null);

结果:
在这里插入图片描述

二、流程控制语句

if-else语句

  基础语法:

	if(条件){
		执行语句;
	}else{
		执行语句;
	}

  if语句简单说就是if括号里面的条件成立,则执行{}里的语句,如果没有加{},则默认执行紧跟着if的第一条语句。else代表如果不满足if中的条件时,则执行else中的语句。
  if中还有一种类型的语句,else-if,具体语法如下:

	if(条件){
		执行语句;
	}else if(条件){
		执行语句;
	}else{
		执行语句;
	}

&emsep;&emsep;else if会在不满足if语句条件的前提下,判断是否满足自身括号里的条件,满足的话进入执行语句,不满足程序向下执行,else if可以设置多条具体示例如下:

<script type="text/javascript">
	var score;
	score = window.prompt("请输入你的成绩");
	if(score == 100){/*若成绩为一百*/
		alert("恭喜您是满分");
	}else if(score >= 80){ /*若成绩不为一百且大于等于八十*/
		alert("成绩优秀");
	}else if(score >= 60){/*若成绩小于八十并大于等于60*/
		alert("及格");
	}else{/*若成绩都不为上面的情况*/
		alert("不及格");
	}
</script>

  大家可以把代码复制了自己运行一下。另外if语句是可以进行嵌套的,例如:

<script type="text/javascript">
	var score;
	score = window.prompt("请输入你的成绩");
	if(isNaN(score)){
		alert("输入不合法");
	}else{
		if(score == 100){
			alert("恭喜您是满分");
		}else if(score >= 80){
			alert("成绩优秀");
		}else if(score >= 60){
			alert("及格");
		}else{
			alert("不及格");
		}
	}
</script>

  大家可以自己尝试一下。

switch-case语句

  switch-case语句和if-else语句的作用类似,都是根据条件的不同来执行不同的语句,但是在语法上有着区别,switch-case语句的语法如下:

<script type="text/javascript">
	var city;
	city = window.prompt("请输入你喜欢的地方");
	switch(city){/*city作为判定的值*/
		case '厦门': /*当值为厦门时*/
			alert("您喜欢的城市是"+city); 
			break;
		case '南宁':/*当值为南宁时*/
			alert("您喜欢的城市是"+city);
			break;
		case '长沙':/*当值为长沙时*/
			alert("您喜欢的城市是"+city);
			break;
		default:/*其他情况*/
			alert("您喜欢的城市是其他");
			break;
	}
</script>

  这边switch后面括号内的变量就是我们需要进行判断的变量,case后面跟的就是当变量值为当前值时,要执行的语句,default就是默认语句,当上述情况都不满足就会执行,这里需要注意的是break,break会在你执行完当前语句后跳出switch-case语句如果没有添加break的话,程序会继续向下进行输出,具体示例如下:

<script type="text/javascript">
	var city;
	city = window.prompt("请输入你喜欢的地方");
	switch(city){
		case '厦门': 
			console.log("您喜欢的城市是"+city); 
			// break;
		case '南宁':
			console.log("您喜欢的城市是"+city);
			// break;
		case '长沙':
			console.log("您喜欢的城市是"+city);
			break;
		default:
			console.log("您喜欢的城市是其他");
			break;
	}
</script>

  这样子程序执行的话,在输出第一条语句后,没有进行break,程序会继续向下执行,因此输出会有三句:
在这里插入图片描述
  这里为大家列举了switch语句和if-else语句的区别:

switchif
判断条件等值判断等值和区间判断
结束break跳出执行一个if后自动结束
默认和否则语句default可以放在任何位置else 只能放在最后

循环语句

1.for循环语句

  for循环语句的基本语法是:

for(语句1;语句2;语句3){
	执行语句
}![在这里插入图片描述](https://img-blog.csdnimg.cn/20210401120944378.png#pic_center)

  语句一是在循环开始前执行,语句二是定义循环体的条件,语句三在循环体执行后执行。具体示例如下:

<script type="text/javascript">
	for(var a = 1; a <= 10; a++){
		console.log(a);
	}
</script>

  比如上述代码,在循环体执行前执行的是var a = 1;语句,当a小于等于10时,进行a++的操作,循环体则是打印a的值,结果如下:
在这里插入图片描述
  语句也可以写成多条,如:

<script type="text/javascript">
	for(var a = 1, b = 2; a <= 10; a++, b+=2){
		console.log(a,b);
	}
</script>

结果:
在这里插入图片描述
  与if语句一样,for语句也可以进行嵌套,当外层为假时内层不执行,先执行外层再执行内层,直至内层的条件为假再返回外层去执行,具体使用如下:

<script type="text/javascript">
	for(var i = 1; i <= 3; i++){
		console.log("i的值为:"+i);
		for(var j = 1; j <= 3; j++){
			console.log("j的值为:"+j);
		}
		console.log("\n");
	}
</script>

可以看到,当第一个for循环进行一次时,内层for循环会完整执行结束:
在这里插入图片描述

2.while循环语句

  while循环语句实现的功能和for循环是一样的,但是在语法上有些不同,while循环有两种形式,一种是while循环,一种是do-while循环,while循环的语法如下:

while(条件){
	执行语句
}

  当满足条件时,会进入循环体,执行循环体体内的语句,不满足条件的时候则退出循环体,具体使用如下:

<script type="text/javascript">
	var a = 0;
	while(a < 10){
		console.log(a);
		a++;
	}
</script>

  当a不满足小于10时,就结束了循环:
在这里插入图片描述
  do-while循环的基本语法如下:

do{
	执行语句
}while(条件)

  与while不同的是,do-while循环先执行一遍循环体,再进行条件的判断,因此无论第一次是否满足条件,do-while语句都会进行一次循环体的执行,具体使用如下:

<script type="text/javascript">
	var a = 11;
	do{
		console.log(a);
	}while(a < 10)
</script>

  这边的a初始值11,明显不满足条件中的a小于10,但是程序依旧会执行一遍console.log(a);,这就是do-while和while的区别:
在这里插入图片描述

3.break和continue的使用

  这里需要提到平时在循环中最常用的两个语句,break和continue,这两者都是用来跳出循环的,但不同的是,break是直接结束循环,而continue只是跳出当前一轮的循环,具体示例如下:

<script type="text/javascript">
	var a = 10, i = 1;
	while(a > 0){
		console.log("这是第"+i+"次循环");
		i++;
		a--;
		if(a < 5){
			break;
		}
		console.log(a);
	}
</script>

  可以看出,这里循环只进行了六次,当a为4的时候循环就结束了:
在这里插入图片描述
  当我们把break换成continue时:

<script type="text/javascript">
	var a = 10, i = 1;
	while(a > 0){
		console.log("这是第"+i+"次循环");
		i++;
		a--;
		if(a < 5){
			continue;
		}
		console.log(a);
	}
</script>

  可以看出,这里依旧是执行了十次的循环,但是最后几次都没有输出a的值,因为在continue后,循环体中continue以下的语句便不再执行了,因此后面几次都没有输出a的值:
在这里插入图片描述
  使用break和continue时还有需要注意的一点是,当我们在使用嵌套循环的时候,break和continue只能跳过当前层的循环,不能跳出所有的循环体。
这一部分的内容就简要介绍这些啦,也许有些写的并不完整,也希望大家多多包涵啦!
在这里插入图片描述

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这名没人用吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值