循环、冒泡排序、错误捕捉语句、函数
一、循环
for(){}
可以给for循环定义一个名字(label语法)
name:for(){}
可以结合break和continue指定跳出某层循环
do{}while()
不管条件成立与否都会先执行一次循环体里面的代码
while(){}
可以给for循环定义一个名字(label语法)
name:for(){}
可以结合break和continue指定跳出某层循环
var str=6;
one:for(var i=0;i<5;i++){
for(var j=0;j<3;j++){
str--;
if(str==2){
continue one;
}
console.log("i:"+i);
console.log("j:"+j);
console.log(str);
}
}
do...while:先执行再判断
var num = 1;
do{
console.log(num);
num++;
}while(num<=5);
var k=0;
for(;k<=5;){
console.log(k);
k++;
}
二、冒泡排序
var arr = [2,12,1,8,5];
console.log(arr);
for(var i=0;i<arr.length;i++){
console.log("i:",arr[i]);
for(var j=0;j<arr.length;j++){
console.log("j:",arr[j]);
if(arr[i]<arr[j]){//第一值<第二值 --》 交换位置
var tem = arr[i];
arr[i] = arr[j];
arr[j] = tem;
}
}
console.log(arr);
}
console.log(arr);
三、 错误捕捉
1.try{执行正常的代码}catch(e){执行错误提示的代码}
e:接收try语句中的错误信息
当我们使用一个未定义的变量除了在typeof来检查变量的类型时,
不会报错,其他情况都会报错;
当我们没有通过关键词来定义变量 的时候,这个变量会自动挂载到window对象下。
2.throw语句:自定义错误信息
四、函数
函数:具有一定功能的代码块
1.具名函数:就是有函数名的函数
语法:function name(x,y....){}
x,y:代表函数的参数,可以0个或多个
name:代表函数名
return:1.用来定义函数的返回值,如果没有定义函数返回值,默认返回undefined
2.结束函数
形参:在定义函数时,传入的变量
实参:在调用函数时,传入的值(也有可能是变量)
2.匿名函数:没有定义函数的名字
3.立即执行函数:
方式一:在函数关键字function前面添加一个符号(+ - !)常用!
函数定义结束位置添加一个小括号
!function(){
}();
方式二:
把函数定义当做一个整体用一个小括号括起来,后面跟着一个小括号即可
(function(){
})();
计算5的阶乘的过程:先拆分再回来计算
第一次调用:5* jc(4)
第二次调用:5* 4* jc(3)
第三次调用:5* 4* 3* jc(2)
第四次调用:5* 4* 3* 2*jc(1)
第五次调用:5* 4*3*2*1
用递归:实现阶乘
function jc1(num){
if(num==1){
return 1;
}
return num*jc1(num-1);//5*4的阶乘
}
var res = jc1(5);
console.log(res);
网友评论