目录
1 if条件语句
1.1 基本使用
- if条件语句是由关键字if开头,后面紧随一个小括号。
- 小括号里面放置条件:条件一般需要的是布尔值、其他类型数值、运算符计算完的结果
- 小括号后面紧随大花括号(结构体),结构体里面可以书写代码。
- 如果条件为真,条件语句结构体才会执行。如果条件为假,条件语句结构体不会执行。
- 条件语句:不管你是执行了结构体、或者没有执行结构体里面代码。
- 条件语句后面代码也会执行。
<script type="text/javascript">
if(59 >100){
alert("我执行啦");
}
alert("错误喽");
</script>
1.2 else关键字
- 关键字else可以结合if条件语句一起使用。不是必须的。
- else关键字(否则),else关键字的这个分支,其实是有暗含条件。
- 暗含条件是对于上面分支的条件进行否定。
经典案例:
//让用户输入一个数字,对应弹出这个数字是偶数、奇数。
//偶数:就是能被2整除的数字
//奇数:不能被2整除的数字
<script type="text/javascript">
//奇数、偶数判断
var num = prompt("请你输入一个数字");
if(num % 2 == 0){
//分支:当前这个num数字可以被2整除(偶数)
alert(num + "偶数");
}else{
//分支:当前这个num数字不能被2整除(奇数)
alert(num+"奇数");
}
</script>
1.3 多分支if条件语句
举个栗子:
合理利用关键字else,会让你的程序更加简洁。
<script type="text/javascript">
//条件语句:切记,永远是在多种情况下,选择一个分支去执行的。
var score = prompt("请你输入一个分数");
//四个分支
if(score < 60){
//分支1:分数小于60分
alert("补考吧哈哈哈");
}else if(score < 70){
//分支2:else这个关键字是有暗含条件,对于上面分支进行否定
alert("及格喽!!");
}else if(score < 80){
//分支3:else这个关键字是有暗含条件,对于上面分支进行否定
//暗含条件:分数一定是大于等于70
//完成条件:分数大于等于70且小于80
alert("不错嘛!!");
}else{
//分支4:else这个关键字是有暗含条件,对于上面分支进行否定
//暗含条件:分数大于等于80
alert("你真厉害!!")
}
</script>
if条件语句嵌套使用
<script type="text/javascript">
//用户输入的条件:
var sex = prompt("请你输入你的性别");
var age = prompt("请你输入你的年龄");
//这个分支:当性别为男的时候才会执行
if(sex=="男"){
if(age >= 22){
//分支条件:性别一定是男的,年龄大于等于22
alert("你已经可以结婚啦");
}else{
//分支条件:性别一定是男的,年龄小于22
alert("想什么呢!上小孩那桌!!");
}
}else{
//这个分支:当性别不是男的时候才会执行(女)
if(age >=20){
//分支:性别一定是女的,年龄大于等于20
alert("补药相信男人啊!!");
}else{
//分支:性别一定是女的,年龄小于20岁
alert("想什么呢!上小孩那桌!!");
}
}
</script>
2 switch条件语句
switch: 开关 case:条件、情况 break:终止、打破default:默认
- switch条件语句中小括号里面:布尔值、变量、表达式等等。
- case关键字后面紧随的判断条件,判断条件为真执行分支,判断条件为假的不执行分支。
- default关键字,可以理解为else,对于其余分支进行否定,使用的时候功能近似else。
-
break关键字,它的作用是立即终止条件语句,跳出条件语句执行条件语句后面代码。
-
continue关键字可以结合循环语句一起使用。它主要的作用是,终止当前这一次循环,立刻、马上去执行下一次循环。
举栗:
<script type="text/javascript">
//用户输入一个月份
//注意:prompt提示框赋值给变量的数据都为字符串类型
var month = prompt('请你输入一个月份');
month = parseInt(month);
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
alert("当前月份是31天");
break;
case 2:
alert('当前月份28||29天');
break;
default:
//暗含条件:对于上面全部分支条件进行否定
alert('当前月份是30天');
break;
}
</script>
<script type="text/javascript">
//continue:可以结合循环语句一起使用,主要的作用是可以终止当前这一次循环,
//然后立刻去执行循环语句的下一次循环。
for(var i = 1 ; i < 10 ; i ++){
if(i % 2 ==0){
continue;
}
console.log("当前循环语句执行"+ i)
}
</script>
那么可将1.3 改编为下面代码
//1.3
<script type="text/javascript">
//条件语句:切记,永远是在多种情况下,选择一个分支去执行的。
var score = prompt("请你输入一个分数");
//四个分支
if(score < 60){
//分支1:分数小于60分
alert("补考吧哈哈哈");
}else if(score < 70){
//分支2:else这个关键字是有暗含条件,对于上面分支进行否定
alert("及格喽!!");
}else if(score < 80){
//分支3:else这个关键字是有暗含条件,对于上面分支进行否定
//暗含条件:分数一定是大于等于70
//完成条件:分数大于等于70且小于80
alert("不错嘛!!");
}else{
//分支4:else这个关键字是有暗含条件,对于上面分支进行否定
//暗含条件:分数大于等于80
alert("你真厉害!!")
}
</script>
/********************************************************/
//2
<script type="text/javascript">
//用户输入进来他的分数
var score = prompt('请你输入你的分数');
switch(true){
case score < 60:
alert("补考吧哈哈哈");
break;
case score < 70:
alert('及格喽!!');
break;
case score <80:
alert('不错嘛!!');
break;
default:
//暗含条件:分数大于等于80
alert('你真厉害!!');
break;
}
</script>
3 for循环语句
基本使用
for(var i = 0; i <6 ;i++){
console.log("人生苦短,我爱前端!!");
}
- var i = 0部分【循环语句第一步】:经常用来声明一个或者多个变量,一般情况下都是有初始值的。(循环语句第一步只是执行一次)
- i <5部分【循环语句第二步】:经常用来进行条件判断(需要的是布尔值),如果条件为真,会执行循环语句第三步、第四步。如果条件为假的,立即终止循环语句。
- {}部分【循环语句第三步】:也称之为循环语句,循环体。这里面经常书写大量重复性的代码。
- i++部分【循环语句第四步】:经常用来给第一步声明的变量进行重新赋值。
for循环语句其他书写方式
第一种方式:
for(var m = 1000; ;m++){
console.log(123);
}
- 不建议这么书写,因为循环语句第二步没有书写判断条件,默认数值为布尔值真
- 这样会导致循环语句出现‘死循环’.
第二种方式:
for(var k = 5; k < 10; k+=3){
console.log(k);//5、8
}
- 循环语句第四步:经常给变量进行重新赋值,这步当中可以使用任意赋值运算符。
第三种方式:
for(var j = 3; j < 20; j *= 3){
console.log(j);//3、9
}
第四种方式:
for(var k = 1 , t = 9; k + t < 20; t+=5){
console.log(t);
}
- 循环语句第一步:可以声明一个、多个变量【循环语句第一步:只是执行一次即可】
穷举思想
我们可以将题目的全部的情况一一验证,根据题目要求将符合条件的情况作为结果输出。
在JS当中实现原理:循环语句+条件语句。
举个栗子:
<script type="text/javascript">
//输出1~100之间的偶数
for(var m = 1; m <= 100;m++){
if(m % 2 == 0){
console.log(m + "是偶数");
}
}
</script>
循环语句嵌套使用
<script type="text/javascript">
//注意:循环语句可以嵌套使用
//外层循环
for(var m = 1 ; m < 4; m++){
//内层循环
for(var k = 1 ; k < 4; k++){
console.log('外层'+m+"内层"+ k);
}
}
//外层循环语句:第一轮 m = 1
//内层循环语句:第一轮 k = 1,2,3 【1,1】[1,2] [1,3]
//外层循环语句:第二轮 m = 2
//内层循环语句:第二轮 k = 1,2,3 [2,1] [2,2] [2,3]
//外层循环语句:第三轮 m = 3
//内层循环语句:第三轮 k = 1,2,3 [3,1][3,2][3,3]
//注意:循环语句可以嵌套使用,如果出现循环语句嵌套情况,由外到内
</script>
到这里,你会编写经典程序了吗:累加器,累乘器,水仙花数字,寻找质数(文末)
4 while循环语句
基本使用
有的人称for、while循环语句,称之为“前测试循环语句”。
前测试循环语句:先进行条件判断,在执行循环体。
- while循环语句:小括号里面放置的是循环语句判断条件【一般需要布尔值、其他类型数据(隐式转换)、表达式】
- 当循环语句的判断条件为真,循环体才会执行。否则循环体不会执行。
举个栗子,再找个质数好了:
<script type="text/javascript">
//判断1~100之间质数
for(var num = 1 ; num <=100;num++){
//累加器:只要遇到是数字num约数,这个变量就进行+1
var count = 0 ;
for(var m = 1; m <= num;m++){
if(num % m == 0){
count++;
}
}
//判断num这个数字是不是质数
if(count == 2){
console.log(num +"是质数");
}
}
</script>
编写经典程序
<script type="text/javascript">
//1 ~ 10之和
var sum = 0;
for(var i = 1 ; i <= 10 ; i ++){
//第一轮: sum=>1
//第二轮: sum=>3
//第三轮: sum=>6
sum += i;
}
console.log(sum);
/*************************************/
//1 ~ 10乘积之和
//累乘器
var sum = 1;
for(var k = 1; k <=10 ; k+=1){
sum = sum * k;
}
console.log(sum);
/*******************************************************************/
//三位数字中水仙花数字
//水仙花数字153 = 3^3 + 5^3 + 1^3
for(var l = 100 ; l < 1000;l+=1){
var ge = l %10,shi = parseInt(l/10)%10,bai = parseInt(l /100);
//计算出当前这个数字个、十、白立方和
var result = Math.pow(ge,3) +Math.pow(shi,3)+Math.pow(bai,3);
if(result === l){
console.log(l +"是水仙花数字");
}
}
</script>