双重for循环的规律是 外层执行一次 内层执行一遍
for(var i=0;i<3;i++){
document.write('第一层循环'+i+'<br>');
for(var j=0;j<3;j++){
document.write('第二层循环'+j+'<br>');
}
}
三元表达式 三目表达式
false?console.log(1):console.log(2);
true执行第一个 false执行第二个函数
递归函数 自己调用自己
Maximum call stack size exceeded 死循环 内存溢出
function fn(){
console.log(1);
fn()
}
fn();
所以需要加判断条件
3包括3 以内的数进行累加
function fn(n){
if(n>=1){
return n + fn(n-1)
/* 3+2+1+0 */
}
/* 必须return 0 否则最后一次 fn(0) 会返回undefined */
/* 3+2+1+undefined = NaN (not a number 不是一个数字) */
return 0;
}
let num = fn(3);
console.log(num);
/* 必须return 0 否则最后一次 fn(0) 会返回undefined */
/* 3+2+1+undefined = NaN (not a number 不是一个数字) */
break语句用于终止某个循环,使程序跳到循环块外的下一条语句 在循环中位于break后的语句将不再执行 break 语句不仅可以用在for循环中,也可以用在其他循环中
continue 跳过 不会终止循环,但是会跳过本次循环 , continue结束本次循环,进入下次循环
调试
初级调试 使用console.log或者alert
// for(var i=0;i<3;i++){
// /* 这种情况是开发时候调试 */
// /* debugger */
// /* 如果是线上代码 需要调试 是用控制台里面断点 */
// document.write('<br>第一层循环'+i);
// for(var j=0;j<3;j++){
// document.write('<br>第二层循环'+j);
// }
/* 通常打的断点是不会进入方法体的
如果想进入方法体 要使用F11快捷键 */
在sources找到对应的js文件,打上断点
刷新页面 出现灰色区域表示进入调试模式
上面的按钮表示下一步 也可以使用快捷键f10
上面的按钮表示终止本次调试(终止不了可以多点几次),但是刷新依然会进入调试模式
点击上面的蓝色按钮,表示取消断点,再次刷新页面就不会进入调试模式