ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

语句

2022-08-20 19:32:24  阅读:129  来源: 互联网

标签:语句 console log factorial ++ num var


if...else

switch

var num = 1;
switch(num){
	case 0: console.log(0);
	case 1: console.log(1);
	case 2: console.log(2);
	case 3: console.log(3);
}
//打印3,因为没有break

for

while

do...while

continue break

throw

立即停止正在执行的程序,跳转至就近的逻辑异常处理程序。

function factorial (n) {
    if(isNaN(n)) throw new Error('请输入数字,HOHO');
    if(n == 1) return 1;
    return n*factorial(n-1);//递归
}
var n = factorial(3);//3*factorial(2)--3*2*factorial(1)--3*2*1
console.log(n);//6

var n = factorial('a05');
console.log(n);

var n = factorial(5);
console.log(n);

throw抛出异常该异常可以是 JavaScript 字符串、数字、逻辑值或对象。

lable

标签语句,在语句之前加上冒号:可标记 JavaScript 语句。通过lable标签指向了循环,break lable结束lable指向的循环,continue lable跳出lable指向的循环
在带break的语句中加入label:

var num = 0;
outPoint://这里为label,标签名为outPoint
for (var i = 0 ; i < 10 ; i++){
	console.log("i="+i)
	for (var j = 0 ; j < 10 ; j++){
		console.log("j="+j) 
		if( i == 5 && j == 5 ){
			console.log("i,j=5")
			console.log(num) 
			break outPoint;
		}
		num++;//55
	}
}

循环在 i 为5,j 为5的时候跳出双循环,返回到outPoint层继续执行除循环外的接下来的操作,输出 55
在带continue的语句中加入label

var num = 0;
outPoint:
for (var i = 0 ; i < 10 ; i++){
	console.log("i="+i)
	for (var j = 0 ; j < 10 ; j++){
		console.log("j="+j) 
		if( i == 5 && j == 5 ){
			console.log("i,j=5")
			console.log(num) 
			continue outPoint;
		}
		num++;//95
	}
}
console.log(num); 

输出95,循环在 i 为5,j 为5的时候跳出双循环,返回到outPoint层继续执行未结束的循环,即从i=6开始,num只跳过了五次++
需要注意的不要过度使用label会给调试带来麻烦,使用时要有描述性的标签,也同时不要嵌套过多的循环。

try...catch...finally

try-catch-finally是JavaScript的异常处理机制。

try {
    if (num == 10) {
        throw e;
    }
} catch (e) {
    console.log('只有错误的时候我才会打印' + e)
} finally {

    console.log('无论如何我都会打印');
}

异常对象e里面有两个属性name和message,分别代表错误类型和错误描述信息。

//var a = 90;
try{
    console.log(a);
}
catch(e){
    console.log(e.name); //返回错误类型
    console.log(e.message); //错误描述
}
finally{
    console.log('大会到此结束');
}

标签:语句,console,log,factorial,++,num,var
来源: https://www.cnblogs.com/Kongqingzhi/p/16608455.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有