1 分支结构
<script>
/*
1 程序
程序 = 数据 + 算法
数据:
1 变量 存储一条数据 重新赋值会替换前面的值
2 数组
3 对象
算法:
1 顺序结构 从上往下 从左往右
2 分支结构 根据不同的条件 做出不同的判断
3 循环结构 重复的执行相同的代码
2 分支结构
1 单分支结构
if(条件) {满足条件时执行的语句}
一件事情满足就执行 不满足什么也不不做
2 双分支结构
if(条件) {满足条件时执行的语句}else{不满足条件时执行的语句}
一件事情满足就执行if里的语句 不满足就执行else里的语句
3 多分支结构
if(条件){
满足当前条件执行的语句
}else if(条件){
满足当前条件执行的语句
}else if(条件){
满足当前条件执行的语句
}else{
以上条件都不满足执行的语句
}
注意 else可以省略
多选1执行,条件一旦满足,就不往下执行
*/
</script>
<script>
var time = 21;
if(time < 20) {
console.log("good");
};
console.log("hahaha")
var score = 100;
if(score >= 60) {
console.log('及格');
}
</script>
<script>
var time = 1;
if(time < 20) {
console.log('good')
}else{
console.log('evening')
}
</script>
2 动态输入框
<script>
/*
1 动态输入框
1 语法
prompt('提示',默认值)
2 注意
默认值可以省略
返回string类型
2 string类型转换成number类型 (强制转换)
parseInt() 转换为整数 不会四舍五入
parseFloat() 转换为小数 只能识别一个小数点 89.88.889 89.88
3 string类型转换为number类型 (隐式转换)
- * / %
num - 0
num * 1
*/
var num = "99.89";
var res = parseInt(num);
console.log(res)
</script>
<script>
var year = prompt('输入年份');
if(year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
console.log("润")
}else {
console.log("不润")
};
</script>
3 if相互嵌套
<script>
/*
分支结构可以相互嵌套
*/
var sex = prompt("性别","男");
var age = prompt("age");
if(sex == "男") {
if(age >= 22) {
console.log("可以男")
}else{console.log("不能男")}
}else if(sex == "女") {
if(age >= 20) {
console.log("可以女")
}else {
console.log("女不能")
}
}else {
console.log("不难不女")
}
/* var sex = prompt("性别", "男");
var age = prompt("age");
if (sex == "男" && age >= 22) {
console.log("可以男")
} else if(sex == "女" && age >= 20){
console.log("可以女")
}else {
console.log("不能")
} */
/* var sex = prompt("性别", "男");
var age = prompt("age");
if(sex == "男" && age >= 20 || sex == "女" && age >= 20) {
console.log("能结婚")
}else {
console.log("不能结婚")
} */
</script>
4 for循环
<script>
/*
1 语法
for(循环变量;循环条件;执行规律) {
循环语句
}
2 执行过程
1 判断循环变量是否满足循环条件,不满足,直接退出循环
2 满足,进入循环执行循环语句
3 执行循环规律,判断循环变量是否满足循环条件,不满足,直接退出循环
4 满足,进入循环执行循环语句
for(语句1;语句2;语句3){
语句4;
}
1——2——4——3——2——4——3——2——4
初始化循环变量只执行一次
循环条件 条件满足一直循环 条件不满足直接退出循环
循环规律 改变了变量的值 变量改变以后需要再判断是否满足条件
*/
</script>
<script>
//控制台输出5遍你好
/* for( var i=0;i<5;i++) {
console.log("你好")
} */
//控制台输出1-100
/* for(var i = 1;i <= 100;i++) {
console.log(i)
} */
//控制台输出1-100的和
// var num = 0;
/* for(var n = 1,sum = 0;n <= 100;n++) {
num += n;
}
console.log(num); */
//求一到五的阶乘
for(var i = 1,ji = 1;i <= 20;i++) {
ji*=i;
console.log(ji)
}
</script>
5 循环结构和分支结构相互嵌套
<script>
//控制台输出1-100的和
// var num = 0;
/* for(var n = 1,sum = 0;n <= 100;n++) {
num += n;
}
console.log(num); */
//求1-100之间偶数的和
/* for(var i = 1,sum = 0;i <= 100;i++) {
if(i % 2 === 0) {
sum += i;
}
}
console.log(sum) */
/* for(var i = 2,sum = 0;i <= 100;i += 2) {
sum += i;
}
console.log(sum) */
//求1-100之间奇数的和
/* for(var i = 1,sum = 0;i <= 100;i += 2){
sum += i;
}
console.log(sum) */
/* for(var i = 1,sum = 0;i <= 100;i++) {
if(i % 2 === 1) {
sum += i;
}
}
console.log(sum) */
//计算1-100之间所有不能被7整除的整数之和
for(var i = 1,sum = 0;i <= 100;i++) {
if(i % 7 !== 0) {
sum += i;
}
}
console.log(sum);
</script>
6 循环嵌套
<script>
/*
1 语法
for(循环变量;循环条件;循环规律) {
for(循环变量;循环条件;循环规律) {
循环语句;
}
}
2 原理
外层循环走一下,内层循环走一圈
外层循环遍历行,内层循环遍历列
*/
</script>
//九九乘法表
// 倒三角
//等腰三角
//计算器
//水仙花数 三位
//四位数各位乘积
<script>
/*
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
*/
//外层循环遍历行 控制执行的次数
/* for(var row = 1;row <= 5;row++) {
//内层循环遍历列 控制实际的输出
for(var col = 1;col <= 5;col++) {
document.write(" * ")
}
document.write("<br />")
} */
/*
*
* *
* * *
* * * *
* * * * *
*/
/* for(var row = 1;row <= 5;row++) {
//内层循环遍历列 控制实际的输出
for(var col = 1;col <= row;col++) {
document.write(" * ")
}
document.write("<br />")
} */
//九九乘法表
/* for(var i = 1;i <= 9;i++) {
for(var j = 1;j <= i;j++) {
//结果小于十,加一个空格 第一列不需要加空格
var res = i*j;
if(res < 10 && j > 1) {
res = res + "  " ;
}
document.write(j + "x" + i + "=" + res +" ")
}
document.write("<br />")
} */
// 倒三角
/* for(var row = 1;row <= 5;row++) {
//内层循环遍历列 控制实际的输出
for(var col = 5;col >= row;col--) {
document.write(" * ")
}
document.write("<br />")
} */
/* for(var row = 1;row <= 5;row++) {
for(var col = 1;col <= 6 - row;col++) {
document.write(" * ")
}
document.write("<br />")
} */
//等腰三角
for(var row = 1;row <= 5;row++) {
//内层循环遍历列 控制实际的输出
for(var k = 1;k <= 6 - row;k++) {
document.write(" ")
}
for(var col = 1;col <= row;col++) {
document.write(" * ")
}
document.write("<br />")
}
//计算器
/* var num1 = parseFloat(prompt("数字"));
var num2 = parseFloat(prompt("数字"));
var symbol = prompt("+-/*");
if(symbol == '+') {
console.log(num1 + num2);
}else if(symbol == '-') {
console.log(num1 - num2);
}else if(symbol == '*') {
console.log(num1 * num2);
}else if(symbol == '/') {
if(num2 != 0) {
console.log(num1 / num2);
}else {
console.log("0错误")
}
}else {
console.log("error")
} */
//
/* var num1 = parseFloat(prompt("数字"));
var num2 = parseFloat(prompt("数字"));
var num3 = parseFloat(prompt("数字"));
if(num1 != num2 && num1 != num3 && num2 != num3) {
console.log("0");
}else if(num1 == num2 && num1 != num3 || num2 == num3 && num2 != num1) {
console.log("1");
}else {
console.log("2");
} */
//水仙花数 三位
/* for(var i = 100;i <= 999;i++){
var g = i%10;
var s = parseInt(i/10)%10;
var b = parseInt(i/100);
if(g*g*g + s*s*s + b*b*b == i) {
console.log(i);
}
} */
//四位数各位乘积
/* var i = parseInt(prompt("四位数"));
if(i > 999 && i <10000) {
var g = i%10
var s = parseInt(i%100)%10;
var b = parseInt(i/100)%10;
var q = parseInt(i/1000);
console.log(g*s*b*q);
}else {
console.log("error")
} */
</script>
7 break和continue
<script>
/*
break 退出整个循环
continue 退出本次循环,继续下一轮循环
break和continue后面的代码都不执行
*/
</script>
<script>
/* for(var i = 1;i <= 10;i++) {
if(i == 3) {
// break;
continue;
}
console.log(i)
} */
/* for(var i = 1,sum = 0;i <= 100;i++) {
if(i % 3 != 0) {
sum+=i;
if(sum >= 2000){
console.log(sum,i)
break;
}
}
} */
for(var i = 1,sum = 0;i <= 100;i++) {
if(i % 7 == 0) {
continue;
}
sum+=i;
}
console.log(sum)
</script>
8 for循环注意事项
<script>
/*
1 for循环语法
for(循环变量;循环条件;执行规律) {
循环体;
}
2 循环变量
循环变量;
for(;循环条件;执行规律) {
循环体;
}
var i = 1;
for(;i <=10;i++) {
console.log(i);
3 循环条件 ---死循环
for(var i = 1;;i++) {
i <= 100; //不生效
console.log(i);
}
4 循环规律
1
for(var i = 1;i <=100;) {
console.log(i)
i++;
}
2
for(var i = 1;i <=100;) {
console.log(i)
}
5 死循环
for(;;) {
console.log("1")
}
*/
</script>