1.语句
下面是赋值语句
Var a = 1 + 3;
这条语句先用var
命令,声明了变量a
,然后将1 + 3
的运算结果赋值给变量a
。
语句以分号结尾,一个分号就表示一个语句结束。多个语句可以写在一行内。
Var a = 1 + 3 ; var b = ‘abc’;
语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值
2.变量
Var a = 1;
上面的代码先声明变量a
,然后在变量a
与数值1之间建立引用关系,称为将数值1“赋值”给变量a
。
最前面的var
,是变量声明命令。
如果只是声明变量而没有赋值,则该变量的值是undefined
。undefined
是一个 JavaScript 关键字,表示“无定义”。
Var a;
可以在同一条var
命令中声明多个变量。
Var a,b;
3.标识符
标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名
标识符命名规则如下。
第一个字符,可以是任意Unicode字符,以及美元符号$和下划线_
第二个字符,除了Unicode字母,美元符号和下划线,还可以是数字0-9
如:
Arg0
_tmp
$elem
4.注释:
//这是单行注释
/*
这是多行注释
*/
5.区块
{
Var a = 1;
}
a // 1
在 JavaScript 语言中,单独使用区块并不常见,区块往往用来构成其他更复杂的语法结构,比如for
、if
、while
、function
等。
6.条件语句
1.if结构
if
结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是 JavaScript 的两个特殊值,true
表示真,false
表示伪
。
If(m===3){
m = 1;
}
2.if…else结构
If(m===3){
//满足条件时,执行语句
}else{
//不满足条件时,执行的语句
}
对同一个变量进行多次判断时,多个if...else
语句可以连写在一起。
If(m===0){
//
}else if(m===1){
//
}else if(m===2){
//
}else{
//
}
3.switch结构:
Switch(fruit){
case “banna”:
//
break;
case “apple”:
//
break;
default:
//……
}
4三元运算符:
JavaScript还有一个三元运算符(即该运算符需要三个运算子)?:
,也可以用于逻辑判断。
(条件)?表达式1:表达式2
Var even = (n % 2==0) ?true:false;
上面代码中,如果n
可以被2整除,则even
等于true
,否则等于false
。它等同于下面的形式。
Var even;
If(n % 2 ===0){
Even = true;
}else{
Even = false;
}
7.循环语句:
1.while循环语句
While
语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。
While(条件){
语句;
}
2.for循环
for
语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。它的格式如下。
for (初始化表达式; 条件; 递增表达式)
语句
// 或者
for (初始化表达式; 条件; 递增表达式) {
语句
}
var x = 3;
for (var i = 0; i < x; i++) {
console.log(i);
}
3.do…..while循环
do...while
循环与while
循环类似,唯一的区别就是先运行一次循环体,然后判断循环条件。
do
语句
while (条件);
// 或者
do {
语句
}
var x = 3;
var i = 0;
do {
console.log(i);
i++;
} while(i < x);
4.break语句和continue语句
break
语句用于跳出代码块或循环。
var i = 0;
while(i < 100) {
console.log('i 当前为:' + i);
i++;
if (i === 10) break;
}
continue
语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
var i = 0;
while (i < 100){
i++;
if (i % 2 === 0) continue;
console.log('i 当前为:' + i);
}
5.标签(Label)
JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
label:
语句
top:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) break top;
console.log('i=' + i + ', j=' + j);
}
}
如果break
语句后面不使用标签,则只能跳出内层循环,进入下一次的外层循环。