1.运算符的优先级
运算符 | 作用 |
---|---|
, | 可以分割多个语句 |
// | 同时声明多个变量并赋值 |
先乘除,后加减
(1)若 || 优先级高,或两者一样高,则应该返回3
(2)若 && 优先级高,则返回1
2.代码块
程序是由一条一条语句构成
按照自上向下的顺序执行
使用{ }来为语句进行分组
一个{ }中的语句称为一个代码块
```javascript
<script type="text/javascript">
{
alert("hello")
console.log("你好");
document.write("语句")
}
</script>
注:代码块后边不用编写;
JS的代码块只有分组的作用
3.流程控制语句
语句分类:
- 条件判断语句
执行前会对条件表达式进行求值判断
(1)if 语句
语法一:if
if(条件表达式)
{
语句…
}
如果所有条件都不满足,则执行最后一个else后的语句
语法二:if…else…语句
if(条件表达式)
{
语句…
}
else
{
语句…
}
语法三:if…else if…else
if(条件表达式)
{
语句…
}
else…if(条件表达式)
{
语句…
}
else…if(条件表达式)
{
语句
}
else
{
语句…
}
注:①只能控制紧随其后的那个语句。
②若控制多条语句,将语句放入代码块。
- 条件分支语句(switch语句)
语法:
switch(条件表达式)
{
case 表达式:
语句…
break;
default:
语句…
break;
}
根据num的值,输出对应的中文
<script type="text/javascript">
var num=1;
</script>
前:
<script type="text/javascript">
var num=1;
if(num==1)
{
console.log("壹");
}
else if(num==2)
{
console.log("贰");
}
else if(num==3);
{
console.log("叁")
}
</script>
后:
<script type="text/javascript">
var num=1;
switch(num)
{
case 1:
console.log("壹");
break;
case 2:
console.log("贰");
break;
default:
console.log("否");
break;
}
</script>
switch…case…语句
在执行时会一次将case后的表达式的值和switch后的条件表达式的值进行全等比较
true→case处执行
false→继续向下比较
所有比较结果都为false→default
注:使用break可以退出switch语句
- 循环语句
通过循环语句可以反复的执行一段代码多次
语法一:while
while(条件表达式)
{
语句…
}
死循环:(开发慎用)
<script type="text/javascript">
var n=1;
while(true)
{
alert(n++);
}
</script>
终止循环:break
<script type="text/javascript">
var n=1;
while(true)
{
alert(n++);
break;
}
</script>
创建一个循环需要的三个条件:
(1)创初始化一个变量
var i=0
(2)在循环中设置一个条件表达式
while(i<10)
{
alert(i);
}
(3)定义一个更新表达式,每次更新初始化变量
i++;
finally:
<script type="text/javascript">
var i=0;
while(i<10)
{
alert(i);
i++;
}
</script>
语法二:do…while
do
{
语句…
}
while(条件表达式)
注:do…while可以保证循环体至少执行一次;而while不能
语法三:for
for(初始化表达式;条件表达式;更新表达式)
{
语句…
}
<script type="text/javascript">
for(var i=0;i<10;i++)
{
alert(i);
}
</script>
注:for循环中的三个部分都可以省略,也可以写在外部
如果在for循环中不写任何表达式,只写两个;此时循环是一个死循环(慎用)
4. 嵌套for循环
通过程序,输出如下图形
2
<script type="text/javascript">
for(var i=0;i<5;i++)
{
document.write("*****<br/>");
}
</script>
<script type="text/javascript">
for(var i=0;i<5;i++)
{
for(var j=0;j<5;j++)
{
document.write("*");
}
document.write("<br/>");
}
</script>
内层循环决定图形高度,执行几次图形的宽度就是多少
2
<script type="text/javascript">
for(var i=0;i<5;i++)
{
for(var j=0;j<i+1;j++)
{
document.write("*");
}
document.write("<br/>");
}
</script>
- break和continue
break关键字可以用来退出switch或循环语句
(1)不能在if语句中使用break和continue
(2)break关键字会立即终止离得最近的那个循环
label:循环语句
在循环语句中创建一个label来标识当前的循环
使用break语句时,可以在break后跟着label
作用:break将会结束指定的循环,而不是最近的
<script type="text/javascript">
outer:
for(var i=0;i<5;i++){
console.log("①外层循环"+i)
for(var j=0;j<5;j++)
{
break outer;
console.log("内层循环:"+j);
}
}
</script>
<script type="text/javascript">
for(var i=0;i<5;i++){
console.log(i);
if(i==2){
break;
}
}
</script>
<script type="text/javascript">
for(var i=0;i<5;i++){
if(i==2){
break;
}
console.log(i);
}
</script>
break换continue:
(1)continue关键字可以用来跳过当次循环
(2)同样continue也是默认只会对它最近的循环起作用