普通语句
普通语句包括函数调用语句,变量赋值语句,对于普通的语句,有一些要求
1.可以通过两个注释
2.空格没有特殊含义,但是可以通过添加空格增强可读性
3,可以通过\进行代码换行,达到看起来像一行的效果
4.通过{}实现代码块功能
5.用分毫进行语句分割(没有强制要求但是约定俗称)
document.write("hello \
china");
输出的还是一句话
判断语句,返回结果为true或false
x=5
运算符 | 描述 | 比较 | 返回值 |
---|---|---|---|
== | 等于 | x==8 | false |
=== | 绝对等于(值和类型均相等) | x===“5” | false |
!= | 不等于 | x!=8 | true |
!== | 不绝对等于(值和类型有一个不相等,或两个都不相等) | x!==“5” | true |
> | 大于 | x>8 | false |
< | 小于 | x<8 | true |
>= | 大于或等于 | x>=8 | false |
<= | 小于或等于 | x<=8 | true |
注意:JS为弱类型语言,可以==比较不同数据类型的数据.但是若想要表达类型相同并且值相同,就需要用===表达.例如
调用下面的函数,输出
function fun3() {
alert("4=='4':"+(4=='4'));//输出true,
alert("4==='4':"+(4==='4'));//输入false,
}
if条件语句
if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
if…else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
if…else if…else 语句- 使用该语句来选择多个代码块之一来执行
注意:代码块如果只有一句代码可以不加{}表示代码块,否则必须加{}代码块,否则会有意外.
2.实例
下面是一个实例,相当于后面讲的switch,break语句;
if(age>18){
alert("成年")
}
else if(age<12){
alert("儿童")
}
else{
alert("青少年")
}
case情况语句
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
与 case 1 和 case 2 不同时执行的代码
}
2.实例:
var d=new Date().getDay();
switch (d)
{
case 0:x="今天是星期日";
break;
case 1:x="今天是星期一";
break;
case 2:x="今天是星期二";
break;
case 3:x="今天是星期三";
break;
case 4:x="今天是星期四";
break;
case 5:x="今天是星期五";
break;
case 6:x="今天是星期六";
break;
}
alert(x);
3.一般情况下必须加break,上面如果都没有break.假设今天是星期日,即满足case 0.但是没有break语句,会把每种case都执行一遍,最后输出的是今天是星期六.
for循环语句
(1)
for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}
语句 1 (代码块)开始前执行
语句 2 定义运行循环(代码块)的条件
语句 3 在循环(代码块)已被执行之后执行
(2)for(变量 in 遍历对象)
2.实例
(1)输出多次helloworld
for(var i=0;i<4;i++)
{
alert("第"+(i+1)+"次helloworld")
}
(2)遍历数组或者对象
test_array=[1,2,3,4]
for(i in test_array)
alert(i)
people={
"name":"张三",
"age":10,
};
for (i in people){//遍历的是属性名
alert(i+":"+people[i]);
}
while循环语句
(1)while循环,有可能一次都不执行
while (条件)
{
需要执行的代码
}
(2)do while循环至少执行一次
do
{
需要执行的代码
}
while (条件);.
2.实例
(1)while语句四次helloworld
//输出四次helloworld
var i=0;
while(i<4)
{
alert("第"+(i+1)+"次 helloworld");
i++;
}
(2)do while语句四次helloworld
var b=0;
do
{
alert("第"+(b+1)+"次 helloworld");
b++;
}
while (b<4);
break和continue
(1)类似于其他语言中break和continue语句,可以跳出循环或者继续下一次的循环.这只能跳出最内层的循环.
(2)可以跳出到制定层数的循环.需要带上标签
2.实例
(1)只是没有5,5.
for(i=0;i<10;i++){
for(j=0;j<10;j++){
if(i==5&&j==5)
continue;
document.write(i+","+j+"\t");
}
document.write("<br>")
}
(2)5,5-5,9没有
label:
for(i=0;i<10;i++){
for(j=0;j<10;j++){
if(i==5&&j==5)
continue label;
document.write(i+","+j+"\t");
}
document.write("<br>")
}
效果对比