JavaScript语句

CSDN话题挑战赛第2期
参赛话题:学习笔记

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?

流程控制语句

if

if语句的语法如下:

if(expression){
	statement
} else {
	statement
}

if语法的执行语义是当expression值为真的时候执行statement,如果expression的值不为真,则执行else后面的语句。statement表示任意语句。
if语句后面的大括号包含条件为真时需要执行的语句,如果没有大括号,则只执行if语句后面的第一条语句。

var num=90;
if(90>50) alert('正确');

if(90>50)
	alert('正确');
	alert('不管if条件是否成立我都会被执行'); // 行代码为一个独立的代码,与if语句无关

if(90>50){
alert('正确');
}
alert('当if条件为false时我会被执行');

if / else if / else

多个if语句可以组合成if……else if……else语句

var num=12;
if(num>10){
	num++;
}else if(num>0&&num<=10){
	num--;
}else{
	num+=2;
}
console.log(num);
//只要有一个条件成立,后面不管是否还有成立的条件,都不再执行了
var n=10
if(n>5){
	n+=2;
}else if(n>8){
	n+=1;
}else{
	n--;
}

关于条件可以怎么写?

//> < >= <= ==  常规比较
if(0){
//不管条件写什么,最后总要把其计算出true /false来判断条件是否成立(把其他类型的值转换成布尔值,0/NaN/null/undefined/''为false,其他都为true)
}
if('3px'+3){
	//在JS中+-*/都是数学运算,除+以外其余运算符在运算的时候,如果遇到了非数字类型的,首先会转换成数字类型(Number),然后再进行运算
	//+在Js除了数学运算相加,还有字符串拼接的作用(如果遇到了字符串,则为字符串拼接,而不是数学相加)
}

switch case

switch语句是与if语句紧密相关的一种流控制语句,语法如下:

switch(expression){
	case value1:
	statement;
	break;
	case value2:
	statement;
	break;
	default:
	break;
}

这里的每个case(条件/分支)相当于:“如果表达式等于后面的值,则执行下面的语句。”这里的每个case(条件/分支)相当于:“如果表达式等于后面的值,则执行下面的语句。”
下面这个示例演示if转换为switch语句。

var num=12;
if(num==10){
	num++;
}else if(num==5){
	num--;
}else{
	num=0;
}
//改成switch case
switch(num){
	case 10:
		num++;
		break;
	case 5:
		num--;
		break;
	default:
		num=0;
		
}
//应用于变量在不同值情况下的不同操作,每一种case结束后都要加break

n++和n=n+1一样吗?
var n=10;
n++;
n=n+1;
console.log(n);//此时n=11
var n='10';
n++;//此时n=11
n=n+1;//此时为字符串拼接输出'101'

不加 break,后面的条件是否成立都会被执行,利用此机制我们可以完成一些特殊的处理,例如:如果 num 等于10或等于5都要做同样的事,那么我们写在一起,不用加 break 即可。

var num=9;
switch(num){
	case 10:
	case 5:
		num--;
		break;
	default:
		num=0;
}

循环语句

do while循环语句

先执行再判断,如果条件一开始不满足,最少执行一次

var box=1;
do{
alert(box);
box++;
}while(box<5);

while循环语句

先判断再执行

var box=10;
while(box<20){
alert(box);
box++;
}

for循环

作用:按照一定规律,重复去做某件事情,此时我们就需要循环来处理
1.定义初始值
2.设定循环成立的条件,条件成立循环继续,条件不成立循环结束
3.条件成立执行循环体内的内容(大括号内包裹的是循环体)
4.执行步长累加操作

var ary = [12,23,34];
for(var i=0;i<ary.length;i++){
	console.log(ary[i]);
}
//输出奇数项
for(var i=0;i<ary.length;i++){
	if(i%2===0){
		console.log(ary[i]);
	}
}

for in循环语句

用于遍历对象的属性值

var box={
name:'jerry',
age:10;
gender:'man'
}
for(var x in box){
alert(box.x);
}

for of语句

for-of语句是一种严格的迭代语句,用于遍历可迭代对象的元素

let arr = [2,4,6,8]
for(let ele of arr){
	console.log(ele)
}

在这里插入图片描述

for循环中的关键字
  1. break:中断循环
  2. continue:继续
for(var i=0;i<10;i++){
	if(i<5){
		i++;
		continue;//结束本轮循环进入下一轮循环
	}
	if(i>7){
		i+=2;
		break;//结束整个循环
	}
	i+=3;
}



for(var i=1;i<=10;i+=2){
	if(i<=5){
		i++;
		continue;
	}else{
		i-=2;
		break;
	}
	i--;
	console.log(i);
}
console.log(i);

with 语句

var box={
name:'jerry',
age:90,
gender:'man'
}
with(box){
alert(name);// 这里的name相当于box.name
}
var boxList=oBox.getELementsByTags('li');
  1. 获取的结果是一个元素集合(HTMLCollection),首先它是对象数据类型的,结构和数组非常相似(数字作为索引,length 作为长度),但不是数组,我们把它叫做“类数组”。boxList[0] 获取当前集合中第一个 LI(通过索引去到具体的某一个 Li 即可)boxList.length 获取集合中 LI 的个数
  2. 集合中的每一项存储的值又是一个元素对象(对象数据类型,包含很多的内置属性)boxList[1].style.color=‘red’ 修改集合中第二个LI的文字颜色

throw语句

thorw语句的作用是抛出一个异常,其语法如下

throw expression;

throw语句可以抛出任意类型的值,抛出的值作为异常的信息。

try……catch语句

try……catch语句是由try语句和catch语句组合而成的语句。
try语句包含一个代码块,其中可能发生异常。catch子句提供异常处理代码,语法如下

try{

}catch(params){
}

当catch子语句捕获到异常时,catch的参数就是异常对象。

try{
	console.log(a)
}catch(e){
	console.log(e);
}

运行上面的代码之后,先执行try语句中的代码,但是变量a没有定义因此报错,try语句捕获错误传递给catch语句,在catch语句中错误对象被打印。
在这里插入图片描述
除了有try和catch还可以有finally语句。

try{
}catch(params){
}finally{
}

finally语句中的代码不管是否发生异常都会被执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端御书房

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

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

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

打赏作者

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

抵扣说明:

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

余额充值