条件语句
1.if 结构
// if结构语句的语法
if (expression)
{
statement
}
// 表达式最后的值必须是个boolean值 true或者false
在条件表达式中,数字0和非0也可以表现为false和true。
在Javascript中,=、==、===的区别
- “=”:赋值运算符
- “==”:值相等
- “===”:严格相等运算符
在statement中如果出现多行语句必须要使用{}包裹,如果只有一行可以不用{};
在还是一个初级程序员的时候,为了代码的可读性,还是建议将只有一行代码的语句块用{}包裹。
2.if...else结构
// if结构语句的语法
if (expression)
{
statement
} else {
statement
}
// 在else代码中执行的条件是紧跟着自己的if的非条件
// 使用if结构和if...else结构其实都是可以实现相同的功能的,只不过在表达方式上有所区别。
// 代码块说明
var age = 80;
if (age <= 18)
{
console.log("1-我未满18岁");
}
if (age > 18 && age <= 30)
{
console.log("1-我在18-30岁之间");
}
if (age > 30 && age <= 50)
{
console.log("1-我在30-50岁之间");
}
if (age <= 18)
{
console.log("2-我未满18岁");
} else {
if (age <= 30)
{
console.log("2-我在18-30岁之间");
} else {
if (age <= 50)
{
console.log("2-我在30-50岁之间");
}
}
}
if (age <= 18)
{
console.log("3-我未满18岁");
} else if (age <= 30){
console.log("3-我在18-30岁之间");
} else if (age <= 50){
console.log("3-我在30-50岁之间");
} else {
//
;
}
3.switch结构
switch我们一般用在多个离散的值进行条件判断时使用,特别是有很多的值的时候。
var monthNum = 2;
switch (monthNum)
{
case 1:
console.log("一月");
break;
case 2:
console.log("二月");
break;
case 3:
console.log("三月");
break;
case 4:
console.log("四月");
break;
}
var sex = "man";
switch (sex)
{
case "man":
console.log("man");
break;
case "woman":
console.log("woman");
break;
default:
console.log("in default");
}
4. 三元运算符
三元运算符我们一般用简单的逻辑判断和赋值语句中。
var sexFlag = 2;
var sexStr;
if (sexFlag === 1) {
sexStr = "man";
} else {
sexStr = "woman";
}
// 语法(condition) ? expre1 : expre2;
// 实现的效果和上述的if...else结构一样
sexStr = (sexFlag === 1 ? "3-man" : "3-woman");
console.log(sexStr);
循环语句
1.while循环
循环语句是用于重复执行某些操作。
语法:
s1;
while (expression) {
statement;
}
s2;
当程序执行while语句时,判断expression的值是否为真,如果真,就执行{}里面的代码块,当代码块执行完成后,继续判断expression是否为真,直到为假的时候,才会执行到s2语句。
这里要注意的是,如果expression一直为真,那么程序就死循环了。
如果循环体内只有一条语句,那么{}可以省略,但是为了程序的可读性,不建议省略。
var i = 1;
var sumi = 0;
while (i <= 10000) {
sumi = sumi + i;
i = i + 1;
}
document.write("sumi=" + sumi);
2.for循环
for循环可以指定循环的起点、终点和终止条件。
语法:
for (initialize ; test; increment) {
statement;
}
- initialize 初始化表达式:确定循环的开始条件,只在循环开始的时候执行一次。
- test 测试表达式:检查循环条件,只要为真就执行循环体的内容。
- increment 递增表达式:完成后续操作,然后返回上一步,再一次检查条件。
var sumifor = 0;
for (var i = 1; i <= 10000; i++) {
sumifor = sumifor + i;
}
document.write("<br/>sumifor=" + sumifor);
3.do...while
语法:
do {
statement;
} while (expression)
do...while循环和while循环本质的差异在于,while循环体内的代码可能存在一次都不会执行,但是do...while的循环体内代码至少会执行一次。
var sumdo = 0;
var i = 5;
do {
sumdo = sumdo + i;
} while (i != 5);
var sumdo2 = 0;
var i2 = 5;
while (i2 != 5) {
sumdo2 = sumdo2 + i2;
}
document.write("<br/>sumdo=" + sumdo);
document.write("<br/>sumdo2=" + sumdo2);
4.break和continue关键字的作用
break和continue都有跳出循环的作用,就是让代码不按照既有的顺序往下执行;
但是break是直接跳出循环,执行循环的下一条语句。
var sumifor = 0;
for (var i = 1; i <= 100; i++) {
document.write("<br/>======================================");
if (i <= 88) {
var currentSum = sumifor;
sumifor = sumifor + i;
document.write("<br/>" + currentSum + " + " + i + " = " + sumifor);
} else {
break;
}
}
continue:当在循环体内出现continue关键字,则continue关键字下面的语句不会执行,但是程序会继续执行循环,不会跳出循环执行循环的下一条语句。
var sumifor = 0;
for (var i = 1; i <= 100; i++) {
document.write("<br/>======================================");
if (i != 88) {
var currentSum = sumifor;
sumifor = sumifor + i;
document.write("<br/>" + currentSum + " + " + i + " = " + sumifor);
} else {
continue;
}
document.write("<br/>"+i +"++++++++++++++++++++++++++++++++");
}
document.write("<br/>END");