JS 的语法和 Java 比较像,if 语法结构如下:
if (条件表达式) {
// 执行语句
}
if 根据条件表达式的返回值来决定是否执行后方大括号的代码,true 则执行,false 则不执行。
如果是 false,我们可以设定一个 else,让它去执行 else 后括号里的内容。
if (条件表达式) {
// 执行语句1
} else {
// 执行语句2
}
JS 也可以写多重分支:
if (条件表达式) {
// 语句1;
} else if (条件表达式2) {
// 语句2;
} else if (条件表达式3) {
// 语句3;
} else {
//最后的语句;
}
三元表达式也可以做一些简单的条件选择,有三元运算符组成的式子称为三元表达式。
条件表达式 ? 表达式1 : 表达式2
如果条件表达式为真,返回表达式1的值,如果条件表达式为假,返回表达式2的值。
var num = 10;
var result = num > 5 ? '是的' : '不是的';
console.log(result) // 是的
注意,表达式都是有返回值的,三元表达式返回的就是表达式1或表达式2的返回值。
switch语句就是多分支语句,针对变量一系列特定值的选项,可以用switch语句。
switch (表达式) {
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
default:
执行最后的语句;
}
例如:
var num = prompt('输入一个数字');
switch (num) {
case 1:
console.log('这是1');
break;
case 2:
console.log('这是2');
break;
case 3:
console.log('这是3');
break;
default:
console.log('没有匹配结果');
for (初始化变量; 条件表达式; 操作表达式) {
// 循环体
}
实例:
for (var i = 1; i <= 100; i++) {
console.log(i); // 打印1~100
}
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
console.log(sum); // 计算等差数列,1加到100
}
//1. 求1-100之间所有数的平均值
var sum = 0;
var average = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
}
average = sum /100;
console.log(average);
//2. 求1-100之间所有偶数和奇数的和
var even = 0; //偶数
var odd = 0; //奇数
for (var i = 1; i <= 100; i++) {
if (i % 2 == 0) {
even = even + i;
} else {
odd = odd + i;
}
}
console.log('奇数和为:' + odd +',偶数和为:' + even);
//3. 求1-100之间所有能被3整除的数字的和
var result = 0;
for (var i = 1; i <= 100; i++) {
if (i % 3 == 0) {
result = result + i;
}
}
console.log(result);
// 打印倒三角形星星
var m = prompt('输入行/列数');
var str = '';
for (var i = m; i >= 0; i--) {
for(var j = 0; j <= i; j++) {
str = str + '⭐';
}
str += '\n';
}
console.log(str);
while循环语法结构:
while (条件表达式) {
// 执行语句
}
使用这个循环结构,需要自己写跳出条件表达式的方式,防止陷入死循环。例如:
while (i <= 100) {
console.log('这个人今年' + i + '岁了');
i++;
}
while 也可以实现无限循环,直到达到某种条件。
var message = prompt('你爱我吗?');
while (message != '我爱你') {
message = prompt('你爱我吗?');
}
alert('是了,我也爱你!');
do … while 语句其实是 while 语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。
var i = 1;
do {
console.log('how are you?');
i++;
} while(i <= 100)
do … while 循环体至少执行一次代码块。
continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中 continue 之后的代码就会少执行一次)。
for (var i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
console.log('我正在吃第' + i + '个包子');
}
break 关键字用于立即结束循环。
for (var i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
console.log('我正在吃第' + i + '个包子');
}
碰到 break,整个循环强行退出。