js学习笔记(五)语句
1、if语句。
if(expression) statements //如果代码只有一句,可以不添加花括号
if(expression) {statements} //当然也可以添加花括号,这是好的习惯
if(expression) {statements} else{statements} //带else
if(expression) {statements}
else if(expression) {statements}
else if(expression) {statements}
……
else if(expression) {statements}
else{statements} //else if的用法
2、switch语句
switch (expression){
case n1:statements;
break;
case n2:statements;
break;
……
case n3:statements;
break;
default:statements;
break; }
break与default语句是可选的。expression与n1、n2…等的比较用的是 ===,n1、n2…等可以是变量,但最好还是用常量
3、while语句
while(expression){statement}
4、do…while语句
do{statement}
while(expression) ; //这里必须以分号结尾
do…while语句至少会执行一次,且while后面必须以分号结尾
5、for语句
for(initialize;expression;increment){
statement}
for语句的执行过程是首先执行initialize来初始化变量;然后验证expression的真假,为真则执行statement,为假则退出循环,然后在下一次验证expression的真假前,执行increment来改变变量,以此作为循环
6、for in语句
for (variable in object){ statement }
在每次循环时,object的一个属性名都会被作为字符串赋给变量variable.在循环体内部,可以使用这个变量和“[]”运算符来查询该对象的属性值,这意味着每次循环variable的值都不相同
7、break语:中断循环,再嵌套循环中break后面还可以加上大于0的整数,表示要退出的是那层循环
continue语句:直接跳到下一次循环 (在do while语句中最好不要使用continue)
8、return语句:只能出现在函数中,用来返回值给函数。也可以单独使用return而不带返回值。不论return带不带返回值,函数内的代码执行到return时,都会中断程序的执行,跳出函数,即使return下面还有其他的代码。如果没用return给函数返回值,则函数的默认值是undefined
9、throw语句
throw expression //用于抛出一个异常,expression可以是任何类型的数据,如error对象或字符串等
注意:在js中当发生运行错误或使用throw语句时就会抛出异常。抛出异常时,js解释器会停止程序的运行,跳转到最近的异常处理器(即用catch编写的语句),如果抛出异常的代码没有相关的catch从句,检查器会检查次高级的封闭代码,看它是否有相关的异常处理器,依此类推,知道找到一个异常处理器为止。
10、try、catch 、 finally语句
try{…} //放入可能抛出异常的代码,当然也可以放入完全正常的代码。(此语句可选)
catch(e){…} //此处的e为一个标识符,它指定了一个仅存于catch代码块内部的局部变量,js将会把抛出的异常对象或值赋给这个变量。仅当try块抛出了异常catch语句才会执行。
finally{…} //无论try语句抛出或没有抛出异常,finally语句都会执行。即使try中的语句由于return、continue、break语句终止了,那么在控制流转移到新的目的地前finally也会执行。
11、with(object){…} //尽量避免使用with语句,可以申明一个变量来代替复杂的object
12、空语句: ; (没错,就是一个分号)
for(var a=1;a<5;a++) ; // 记住,这句中的分号并不是代表一句的结束,因为在这里,并不需要分号来结束。这里的分号是代表一个空语句,相当于这个循环语句的代码部分。
a=6; //这句话已经不属于上面那个循环语句了,就是因为那个分号
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!