运算符的优先级
指的是在表达式中各个运算符参与运算的先后顺序,例如:先乘除,后加减。
- 同一单元格的运算符具有相同的优先级。
- 左结合方向表示同级运算符的执行顺序为从左到右。
- 右结合方向则表示执行顺序为从右到左。
- 补充:圆括号()优先级别最高。例如, 4 + 3 * 2的 输出结果为10,(4 + 3) * 2的输出结果为14。
案例
计算圆的周长和面积
<body>
<p>圆的半径:<input type="text" id="r"></p>
<p>圆的周长:<input type="text" id="cir"></p>
<p>圆的面积:<input type="text" id="area"></p>
<script type="text/javascript">
const pi=3.14;
var r=prompt('请输入圆的半径');
r=parseFloat(r)&&Number(r);
if(!isNaN(r)){
var cir=2*pi*r;
var area=pi*r*r;
document.getElementById('r').value=r;
document.getElementById('cir').value=cir;
document.getElementById('area').value=area;
}else{
alert('请输入正确的数字!')
}
</script>
</body>
流程控制
选择结构
概念:选择结构语句需要根据给出的条件进行判断来决定执行对应的代码。
if单分支语句
if ( age >= 18) {
console.log('已成年');
}
if…else双分支语句
if ( age >= 18 ) {
console.log('已成年');
} else {
console.log('未成年');
}
if…else if…else多分支语句
if (score >= 90) {
console.log('优秀');
} else if(score >= 80) {
console.log('良好');
}
...
else if(score >= 60) {
console.log('及格');
} else {
console.log('不及格');
}
switch多分支语句
switch (parseInt(score/10)) {
case 值10:console.log('优'); break;
case 值9:console.log('良'); break;
...
default: console.log('差');
}
案例
根据平均分来划分等级
<body>
<script type="text/javascript">
var yuwen=prompt('请输入语文成绩:');
var shu=prompt('请输入数学成绩:');
var ying=prompt('请输入英语成绩:');
var hua=prompt('请输入化学成绩:');
var li=prompt('请输入历史成绩:');
var average=(+yuwen + +shu + +ying + +hua + +li)/5;
alert(average);
var level=Math.floor(average/10);
switch(level){
case 9:
alert('优秀');
break;
case 8:
alert('良好');
break;
case 7:
alert('一般');
break;
case 6:
alert('较差');
break;
default:
alert('很差');
break;
}
</script>
</body>
循环结构
概念:所谓循环语句就是可以实现一段代码的重复执行。
while循环语句
概念:while循环语句是根据循环条件来判断是否重复执行一段代码。
while ( num <= 100 ) {
console.log(num);
num++;
……
}
do…while循环语句
do…while会无条件执行一次循环体后再判断条件
do {
循环体
……
} while (循环条件);
for循环语句
//for(初始化表达式;循环条件;操作表达式)
for(var i = 0; i < 5; ++i) {
console.log('*'); //循环体
}
let关键字
1、在ES6中,可以通过let关键字声明一个块级作用域(可以理解为{}之间的代码)的本地变量。
2、它与var关键字的区别是,let关键字在块级作用域内不能重复定义同名的变量,且该变量仅在块级作用范围内有效。
// let关键字
for (let i = 0; i < 3; ++i) {
}
// 输出结果:i is not defined
console.log(i);
- 通过let定义的变量相比var来说,有一个更加清晰的作用范围,方便了变量的维护与控制。
跳转语句
1、概念:跳转语句用于实现程序执行过程中的流程跳转。
2、常用的跳转语句:有break和continue语句。
3、break与continue的区别:break语句可应用在switch和循环语句中,其作用是终止当前语句的执行,跳出switch选择结构或循环语句,执行后面的代码。而continue语句用于结束本次循环的执行,开始下一轮循环的执行操作。
4、其他功能:break和continue语句还可跳转到指定的标签语句处,实现嵌套语句的多层次跳转。
// 定义标签
label : statement
// 使用标签
break/continue label;
- label表示标签的名称,如start、end等任意合法的标识符。
- statement表示具体执行的语句,如if、while、变量的声明等。
- 标签语句必须在使用之前定义,否则会出现找不到标签的情况。