一.条件
基于不同的条件来执行不同的动作。
1. if语句
语法:
if (condition1)
{
当条件 1 为 true 时执行的代码
}
else if (condition2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
2.switch语句
语法:
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
与 case 1 和 case 2 不同时执行的代码
}
注意: case的判断是===的判断,即数据类型和值的双重判断
3.优化: ES6使用箭头函数定义函数时可以省略 function 关键字
const condition = condition1
let obj = {
'condition1' : () => { ... ;},
'condition2' : () => { ... ;},
'condition3' : () => { ... ;},
}
obj[condition]()
注意: let允许你声明一个作用域被限制在块级中的变量、语句或者表达式。在Function中局部变量推荐使用let变量,避免变量名冲突。
注意: const 关键字用来声明 JavaScript中的常量(与变量相对,不可修改,但同样是用于存储信息的"容器"。),常量的值不能通过重新赋值来改变,并且不能重新声明。
实例:
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title>选择</title>
<script>
var minute = new Date().getMinutes();//获取当前时间分钟
var flag = minute=30? minute>30?2 : 1 : 0;
const Test = {
'0':() => { document.getElementById("Result1").innerHTML = "小于30";},
'1':() => { document.getElementById("Result1").innerHTML = "等于30";},
'2':() => { document.getElementById("Result1").innerHTML = "大于30";},
}
</script>
</head>
<body>
<button onclick = "Test[flag]()">显示结果</button><br/>
<span id = "Result1"></span><br/>
</body>
</html>
结果:
二.循环
将代码块执行指定的次数。
1. for语句
语法:
for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}
//语句 1 (代码块)开始前执行
//语句 2 定义运行循环(代码块)的条件
//语句 3 在循环(代码块)已被执行之后执行
与C语言用法相同。
2.for in 语句
循环遍历对象的属性,甚至遍历数组
语法:
var x;
var num = [1, 2, 3, 4, 5];
for(x in num)
{
console.log(x);
}
//12345
var val;
var txt;
var person = {name : "John",
sex : "male",
age : 28};
for(val in person)
{
txt = txt + " " + val;
}
// John male 28
3.for of语句
它的功能比for in要丰富的多,它能循环很多东西。
- 循环一个数组
- 循环一个字符串
- 循环一个类型化的数组
- 循环一个键值对(Map)
- 循环一个集合 (Set)
- 循环一个生成器(generators)
实例:
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title>for of</title>
<script>
function* fibonacci()
{ // a generator function
let [prev, curr] = [0, 1];
while (true) {
[prev, curr] = [curr, prev + curr];
yield curr;
}
}
function ShowFibonacci()
{
let txt = "0 1";
for (let n of fibonacci()) {
console.log(n);
txt = txt + " " + n;
if (n >= 1000) {
break;
}
}
document.getElementById("Result").innerHTML = txt;
}
</script>
</head>
<body>
<button onclick = "ShowFibonacci()">显示结果</button><br/>
<span id = "Result"></span>
</body>
</html>
结果:
4.while语句
语法:
while (条件)
{
需要执行的代码
}
与C语言用法相同。
5.do/while语句
语法:
do
{
需要执行的代码
}
while (条件);
与C语言用法相同。
注意: do/while至少会执行一遍。
三.break和continue
- break 的作用是跳出代码块, 所以 break 可以使用于循环和 switch 等。
- continue 的作用是进入下一个迭代, 所以 continue 只能用于循环的代码块。