其他分享
首页 > 其他分享> > 语句

语句

作者:互联网

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