/*P18-流程控制-语句块*/
{
/*
var myName = '峰华';
console.log(myName);//峰华
let age = 15;
console.log(age);//15
const YEAR =2020;
console.log(YEAR)
*/
}
//console.log(myName)//峰华
//console.log(age);// Uncaught ReferenceError: age is not defined
//console.log(YEAR);//(需先注释掉上面一行,才能运行到这行,因为语法错误就停在上面一行)Uncaught ReferenceError: age is not defined
/*P19-流程控制-if和else*/
/*
console.clear();
var passcode = prompt('请输入暗号');
if (passcode === '天王盖地虎'){
alert('登录成功');
} else{
alert('登录失败')
}
*/
/** */
/*VH:补充,判断后将执行只一句的话,可以不用{}
if (b==0) return 0; 除数为0 就直接返回0
//if的简写,三元运算符简写的用法在P17章节。
var temperature = 10;
console.log(temperature > 15 ? '出门' : '在家');
var temperature = 16;
console.log(temperature > 15 ? '出门' : '在家');
/** */
/*P20-流程控制-if和else*/
/*
console.clear();
var role = prompt('请输入用户权限');
if (role==='超级管理员'){
alert('跳转到超级管理员页面')
} else if(role==='管理员'){
alert('跳转到管理员页面')
} else{
alert('跳转到用户页面')
}
*/
/*P21-流程控制-switch和case*/
/*注释掉,给下节的语句运行提供方便:
var role= prompt('请输入用户权限');
switch(role){
//除default之外,break是必须的。
//如果没有break,会从匹配项目开始执行到底
case '超级管理员':
alert('超级管理员页面');
break;
case '管理员':
alert('跳转到管理员页面');
break;
case '特殊用户';
alert('跳转到特殊用户页面');
break;
case '一般用户';
alert('跳转到一般用户页面');
break;
default: //这里没有条件,default打头写
alert('跳转到其他页面')
}
*/
/*P22-流程控制-while*/
/*
//感觉这里的while似乎不够深入,这里有个改变条件值的问题,才有意义
var password ='';
while (password !== '123456'){
//先注释方便后续程序运行password = prompt('请输入密码');
}
console.log('登录成功!');
*/
/*P23-流程控制-do-while*/
/*
//x++先返回5,默默加1是6,6来到while条件,符合就继续循环
//这时x是6,打印6,随手增加1,是7
//7符合while条件,继续……
//直到10,符合条件,继续循环内,打印10,默默增加1,11来到while条件不符合停止循环,
//停止循环,继续赶路,来到console.log(x),打印出11
var x =5;
do {
//这里一定要写造成x变化的语句,不然,一直符合条件,一直循环。
console.log(x++);//5678910
} while (x >= 5 && x<= 10)
console.log(x);//11
*/
/*P24-流程控制-for循环*/
//for循环和while循环最大的区别在于计数类的循环
/*
3.步长:可以随便写
i++和++i结果一样,0-9为啥呢?不知道
i=i+2//02468
类似i=i+2都可以简写i+=2,,乘除取模等二元操作符都可以这样(下方有实例)
3个条件可选,但是避免死循环比如for(;;){……}
同样给while的条件设为true或者任何代表true的值(1,hello)或表达式,也会进入循环
*/
/*
for(let i = 0; i < 10; i=i+2){
console.log(i);
}
*/
/*类似i=i+2都可以简写i+=2,,
//乘除取模等二元操作符都可以这样(下方有实例)
var i=3;
var j=3;
i = i+2
j += 2;//+=必须挨着写
console.log(i)//5
console.log(j)//5
i = i*2
j *= 2
console.log(i)//10
console.log(j)//10
i = i/2
j /= 2
console.log(i)//5
console.log(j)//5
i = i%3
j %= 3
console.log(i)//2
console.log(j)//2
i = i**3
j **= 3
console.log(i)//8
console.log(j)//8
*/
/*
//循环转换
//以下循环,打印0-9
var j = 0;
while (j < 10){
console.log(j);
j++;
}
*/
/*P25-流程控制-break和continue*/
/*
for(let i =0; i< 10; i++){
console.log(i,'if前');
if(i===6){
break;
}
console.log(i,'if后');//等于6的时候,就跳出循环,这里见不到6
}
*/
/*打印结果如下:
index.js:159 0 "if前"
index.js:163 0 "if后"
index.js:159 1 "if前"
index.js:163 1 "if后"
index.js:159 2 "if前"
index.js:163 2 "if后"
index.js:159 3 "if前"
index.js:163 3 "if后"
index.js:159 4 "if前"
index.js:163 4 "if后"
index.js:159 5 "if前"
index.js:163 5 "if后"
index.js:159 6 "if前",这里是有6的,后面那个打印"if后"就停止没有了。
*/
//continue,跳过当前符合if条件的i值,直接进入下一个i
for(let i =0; i< 10; i++){
console.log(i,'if前');
if(i===6){
continue;
}
console.log(i,'if后');//等于6的时候,就跳出循环,这里见不到6
}
/*
index.js:185 0 "if前"
index.js:189 0 "if后"
index.js:185 1 "if前"
index.js:189 1 "if后"
index.js:185 2 "if前"
index.js:189 2 "if后"
index.js:185 3 "if前"
index.js:189 3 "if后"
index.js:185 4 "if前"
index.js:189 4 "if后"
index.js:185 5 "if前"
index.js:189 5 "if后"
index.js:185 6 "if前"
index.js:185 7 "if前"
index.js:189 7 "if后"
index.js:185 8 "if前"
index.js:189 8 "if后"
index.js:185 9 "if前"
index.js:189 9 "if后"
*/