结构分类:顺序结构;选择结构;循环结构;
一、if选择结构
prompt('请输入:' , 20); prompt 里面的第一个内容表示提示语,第二个内容是弹出框里的默认值。
prompt 方法执行完之后,会把用户输入内容返回给后台;
tips :只要是输入,返回的数据类型都为 字符串类型。即 typeof(prompt('')) == string ;
if基本结构:
语法:if(判断条件) {
//javascript 语句;
}else if(判断语句) {
//javascript 语句;
}else {
//javascript 语句;
}
/* 编写函数,实现使用prompt输入两个数和运算符号,并计算两个数的操作结果 */
<script>
let num1 = parseFloat(prompt('请输入第一个数:'));
let num2 = parseFloat(prompt('请输入第二个数:'));
let sym = prompt('请输入运算符号:');
if (sym == '+') {
alert(num1 + '+' + num2 + '=' + (num1 + num2));
} else if (sym == '-') {
alert(num1 + '-' + num2 + '=' + (num1 - num2));
} else if (sym == '*') {
alert(num1 + '*' + num2 + '=' + (num1 * num2));
} else if (sym == '/') {
if (num2 != 0) {
alert(num1 + '/' + num2 + '=' + (num1 / num2));
} else {
alert('除数不能为0');
}
} else {
alert('其他运算符我不研究,你别问啦');
}
</script>
二、switch 选择结构
语法:switch (表达式){
case 常量1 :
//javascript语句;
break;
case 常量2 :
//javascript语句;
break;
.....
default:
//javascript语句;
break;
}
let num1 = parseFloat(prompt('请输入第一个数:'));
let num2 = parseFloat(prompt('请输入第二个数:'));
let sym = prompt('请输入运算符号:');
switch (sym) {
case '+':
alert(num1 + '+' + num2 + '=' + (num1 + num2));
break;
case '-':
alert(num1 + '-' + num2 + '=' + (num1 - num2));
break;
case '*':
alert(num1 + '*' + num2 + '=' + (num1 * num2));
break;
case '/':
if (num2 != 0) {
alert(num1 + '/' + num2 + '=' + (num1 / num2));
} else {
alert('除数不能为0');
}
break;
default:
alert('其他运算符我不懂,你别问啦');
break;
}
如果case 后不加 break;执行完case语句后,会出现穿透现象;
如果几个case(case :1;case 2; case:3;)所执行的语句是相同的,简单说就是满足
case :1;case 2; case:3;的时候都需要执行相同的javascript语句时候,可以用到穿透,可以减少代码冗余。
<script>
for (let i = 1; i < 10; i++) {
let mouth = parseInt(prompt('请输入月份:'));
switch (mouth) {
case 2:
case 3:
case 4:
alert('春季');
break;
case 5:
case 6:
case 7:
alert('夏季');
break;
case 8:
case 9:
case 10:
alert('秋季');
break;
case 11:
case 12:
case 1:
alert('冬季');
break;
default:
alert('输入有误');
}
}
</script>
循环结构
一、for 循环
语法:for(初始值设置;循环条件;循环迭代)
{
//循环执行语句;
}
for循环的执行顺序为:
-
初始值;
-
循环条件判断;
-
执行循环语句;
-
循环迭代。
/* 计算0--200(包括)内所以偶数和 */
<script>
//第一种
/* var sum = 0;
for (var i = 0; i <= 200; i++) {
if (i % 2 == 0) {
sum = sum + i;
}
}
document.write(sum); */
//第二种
var sum = 0;
for (var i = 2; i <= 100; i = i + 2) {
// sum = sum + i;
sum += i;
}
document.write(sum);
</script>
二、while 循环
语法:while (循环条件)
{//循环语句;
//循环迭代;(没有循环迭代循环会进入死循环)
}
/* 计算0--200(包括)内所以偶数和 */
/* 计算0--200(包括)内所以偶数和 */
<script>
//第一种
/* var sum = 0;
var i = 0;
while (i <= 200) {
if (i % 2 == 0) {
sum += i;
}
i++;
}
document.write(sum); */
//第二种
var sum = 0;
var i = 0;
while (i <= 200) {
sum += i;
i += 2;
}
document.write(sum);
</script>
三、do-while 循环
语法:do{
//循环语句;
//迭代语句;
}while(循环条件)
-
do-while 的特点是先循环再判断;
-
while 循环的特点是先判断再进去循环;
/* 计算0--200(包括)内所以偶数和 */
<script>
var sum = 0;
var i = 0;
do {
if (i % 2 == 0) {
sum += i;
}
i++;
} while (i <= 200)
document.write(sum);
</script>
四、for-in 循环
数组是具有相同数据类型的一个或者多个值的集合;
语法:var 数组名 = ["前端","java","php"]
常用于对数组或者对象的属性进行循环操作
语法:for(变量 in 对象){
//循环语句
}
<script>
var arr = ["前端", "大数据", "java", "运维"]
// for-in 循环中的 变量 i 是字符串类型
for (var i in arr) {
if (arr[i] == "前端") {
arr[i] += "yyds";
} else {
arr[i] += "omg";
}
}
document.write(arr);
</script>