xaoyege 2019-06-28
在JavaScript中,语句使用分号(;)进行分隔。可以在一行编写一条语句,也可以在一行编写多条语句分类
件语句:JavaScript解释器根据一个值来判断是执行还是跳过指定语句。
循环语句:JavaScript解释器根据一个值判断是否重复执行指定语句。
跳转语句:使JavaScript解释器跳转到指定语句。
建议:
建议每一行编写一条语句,以便于提高代码的阅读性。
JavaScript解释器按照语句的编写顺序依次执行。
JavaScript中使用一对花括号({})表示一个语句块。使用语句块为语句进行分组,这样语句的结构清晰明了。
注意:
语句块的结尾不需要分号。
语句块的行都有缩进,但并不是必须的。
语句中声明变量是全局变量。
空语句运行包含0条语句,JavaScript解释器执行空语句,不会执行任何动作。如果有特殊的目的使用空语句,最好说明这条空语句是有用的。
条件语句:条件语句就是通过判断指定的计算结果,来决定是执行还是跳过指定的语句块。如果说JavaScript解释器是按照代码的路径执行的话,那么条件语句就是这条路径上的分岔点,代码执行到这里必须选择其中一条路径继续执行。
if语句是条件判断语句,当if后面条件判断是true是则选择执行语句块当结果为false时会跳转语句块,继续之下后面的代码。
//if语句的应用
var a = true;
/*if语句
* if(条件表达式){
* 语句块} 当表示式的输出结果为true时才执行
* 作用:来控制是否执行指定的语句
* 结果: 一般为Boolean类型的值 true/false
* 问题: 当条件表达式计算的结果不是Boolean类型
* 那么将会强行的转化为Boolean类型再进行判断*/
if (a) {
console.log('阿伦艾佛森');}//布尔类型
if (1&&1){console.log('为了十月六号那一天')
}//或与非运算符的if语句;
var a //定义变量但是不初始化变量
if( a='画面'){
console.log('if条件语句')8
}//等价于以下写法
a ='画面' ;跟据if语句当条件判断语句值为true时选择第一个语句块, 当值为false时选择另一个执行块
var a = true ;
/*if...else
if (条件表达式){第一个语句块}
else{第二个语句块}*/
if (a) {
console.log('输出第一个语句块');}
else{
console.log('输出第二个语句块')}-if语句的注意事项,
/*
if语句与if...else语句
* 对应的语句块的大括号"{}" -> 允许被省略的
* 前提 - 当前语句块中只存在一条语句时
* 省略大括号"{}"时,JavaScript默认认为后面的第一条语句是被控制的语句块内容
* 结论 - 建议按照语法规则编写
*/
if (result)
console.log('这是if语句执行的语句块1...');
console.log('这是if语句执行的语句块2...');
console.log('这是if语句执行的语句块3...');
console.log('这是if语句执行完毕后的内容...');-条件运算符与if语句。
var boo = false;
if (boo) {
console.log('这是语句');
} else {
console.log('这是语句');
}
console.log('if语句完毕');
boo ? console.log('条件运算符1') : console.log('条件运算符2');
//条件运算符和条件语句可以互相转换,
//条件运算符的性能更高;var score = 66;//定义并赋值一个变量
if (score > 88) {
console.log('优秀');//当第一个条件运算符为true时 进入嵌套的if。。else。。语句
} else {//镶嵌一个if。。else
if (score > 77) {
console.log('良好');
} else {
console.log('及格');//结果为及格
}
}
//嵌套的缺点 嵌套的层数越多性能越差
//利用else。。。if ,,可以解决嵌套的问题 并且没有任何限制
var score = 66; //定义并赋值变量
if (score > 88) {
console.log('优秀');
} else {
if (score > 77) {
console.log('良好');
} else { console.log('及格');
}
}var result = '0';
/*
枚举 - 将计算结果可能的值尽量的罗列完整
switch (条件表达式) {
case 值一:
语句块一
case 值二:
语句块二
... ...
default:
语句块N
}
* 条件表达式 - 不一定是Boolean类型,计算结果分别与case语句的值进行比较
* 条件表达式计算结果与case语句的值是全等比较(既要比较值,也要比较类型)
* case语句 - 罗列可能的匹配值
* 对应的语句块最后添加 break 关键字 - 当执行对应的语句块之后,停止继续执行
* default语句 - 类似于if...else语句中的else语句
* 当以上所有case语句的值都不匹配时,默认执行default语句对应的语句块
* 注意 - 不是default语句不需要使用break关键字,而是default默认一般被编写在最后
*
*/
switch (result) {
case 0:
console.log('这是数字0');
break;
case 1:
console.log('这是数字1');
break;
default:
console.log('以上结果无一满足');
}var result = 1;
/*
while (条件表达式) {
语句块
}
* 必须通过一个变量值的改变,控制条件表达式的计算结果
* 在循环的过程中,至少有一次计算结果为false -> 结束循环
* 如果没有这样的一个变量的话 -> 循环叫做死循环
*/
var result = 1;
while (result <= 10) {
console.log('这是while循环语句执行...');
result++;// 改变变量的值,至少有一次让条件表达式计算的结果为false
}
console.log('这是while循环语句执行完毕后...');
//do语句
var result = 0;
/*
do {
语句块
} while (条件表达式);
*/
do {
console.log(result);
result++;
} while (result <= 10);var v = 0;
while (v < 10) {
console.log(v);
v++;
}
console.log(v);
/*
for (初始化表达式; 条件判断表达式; 循环控制表达式) {
语句块
}
* 初始化表达式 - 用于初始化控制循环的变量
* 条件判断表达式 - 用于判断是否要结束循环
* 循环控制表达式 - 用于控制结束循环的节点
注意:
* for语句的语法要求并不强制必须定义以上三个表达式
* 一旦省略三个表达式的话,表达式的分隔符必须存在
*/
/*for (var v = 0; v < 10; v++) {
console.log(v);
}*/
var v = 0;
for (; v < 10; ) {
console.log(v);
v++
}/*
跳转语句
* 作用 - JavaScript代码从指定位置跳转到另一个指定的位置
* 场景 - 跳转语句只能用于循环执行结构,而不能用于条件判断结构
* 注意 - switch...case语句中使用的break,并不是break的用法,而是switch语句的用法
* 循环语句中的跳转语句
* break语句 - 表示结束整体循环
* continue语句 - 表示结束本次循环
*/
/*var result = 0;
switch (result) {
case 0:
console.log(0);
break;
case 1:
console.log(1);
break;
default:
console.log(2);
}*/