一、基本语法
1. 先声明,再赋值
var a = 1 + 3;
- 上面代码的意思是,声明了变量 a,并把表达式 1+3 的结果赋值给 a
- 语句以分号结尾,一个分号就表示一个语句结束
2. 变量提升
console.log(a);
var a = 1;
// 真正运行的是下面代码
var a;
console.log(a); // 得到结果 undefined
a = 1;
3. 合法标识符
// 中文名也是合法的
arg0
_tmp
$elem
π
var 临时变量 = 1;
4. 条件语句
// if 结构
if (m === 0) {
// ...
} else if (m === 1) {
// ...
} else if (m === 2) {
// ...
} else {
// ...
}
// switch 结构,采用的严格相等运算符(===),1 不等于 true
//每个 case 后必须有 break
// switch语句部分和case语句部分,都可以使用表达式
switch (fruit) { // switch (1+3) {
case "banana": // case 2+2:
// ...
break;
case "apple":
// ...
break;
default:
// ...
}
// 三元运算符
(条件) ? 表达式1 : 表达式2
var even = (n % 2 === 0) ? true : false;
5. 循环语句
// while 循环
var i = 0;
while (i < 100) {
console.log('i 当前为:' + i);
i = i + 1;
}
// for 循环
// 所有for循环,都可以改写成while循环
var x = 3;
for (var i = 0; i < x; i++) {
console.log(i);
}
// do while 循环
// while语句后面的分号注意不要省略
var x = 3;
var i = 0;
do {
console.log(i);
i++;
} while(i < x);
6. break 语句和 continue 语句
// break语句用于跳出代码块或循环
for (var i = 0; i < 5; i++) {
console.log(i);
if (i === 3)
break;
}
// continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环
var i = 0;
while (i < 100){
i++;
if (i % 2 === 0) continue;
console.log('i 当前为:' + i);
}
7. 标签(label)
- 标签通常与break语句和continue语句配合使用,跳出特定的循环
```javascript
// 满足条件时,直接跳出双层循环
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 foo,就会跳出区块 foo: { console.log(1); break foo; console.log(‘本行不会输出’); } console.log(2);
// 满足条件时,会跳过当前循环,直接进入下一轮外层循环 top: for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){ if (i === 1 && j === 1) continue top; console.log(‘i=’ + i + ‘, j=’ + j); } } ```
「@浪里淘沙的小法师」