JavaScript基础Day03
一、关键字break和continue
-
break:立即跳出整个循环,即循环结束,开始执行循环后面的内容。(跳出当前循环)
-
continue:结束本次循环,开始下一轮循环
var sum = 0;
for (var i = 100; i <= 200; i++) {
if (i % 10 == 3) {
continue; //遇到尾数为3的数字跳出本次循环,开始下一个
}
sum += i;
}
console.log(sum); //结果:13670
for (var i = 100; i <= 200; i++) {
if (i % 7 == 0) {
console.log(i); //结果:105
break;
}
}
二、数组
1. 数组的定义
数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。
2. 数组的概念
将多个元素(通常是同类型)按一定顺序排列放到一个集合中,这个集合我们就称之为数组。
3. 创建数组
- 通过数组字面量定义:
-
var arr = [];
//定义空数组
var arr = [10, 30, 20, 50, 40];
- 通过创建构造函数定义数组:
-
var arr = new Array();
//定义空数组
-
var arr = new Array(10, 30, 20, 50, 40);
//()中可以给长度,也可以直接给数据
4. 遍历数组
var arr = [10, 30, 20, 50, 40];
for (var i = 0; i < arr.length; i++) { //arr.length:数组的长度
console.log(arr[i]); //结果:10, 30, 20, 50, 40
}
var arr = [10, 30, 20, 50, 40];
var sum = 0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i]; //跟累加一样的思路
}
console.log(sum); //结果:150
var arr = [10, 30, 20, 50, 40];
var sum = 0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
}
console.log(sum/arr.length); //结果:30 平均值=总和/数据个数(也就是数组长度)
var arr = [10, 30, 20, 50, 40];
var max = arr[0]; //设定数组第一个数是最大值
for (var i = 0; i < arr.length; i++) {
if (max < arr[i]) { //遇到比设定的max还大的数据时
max = arr[i]; //max重新赋予当前值
}
}
console.log(max); //结果:50
var arr = [10, 20, 30, 40, 50]; //10与50交换,20与40交换
//反转的次数:arr.length / 2
for (var i = 0; i <= arr.length / 2; i++) {
var temp = arr[i]; //设置临时变量,赋予temp当前数据
arr[i] = arr[arr.length - 1 - i]; //a[0]=a[4]...
arr[arr.length - 1 - i] = temp;
}
console.log(arr); //结果[50, 40, 30, 20, 10]
var arr = ["小乔", "周瑜", "孙尚香", "刘备", "貂蝉", "吕布"];
var str = "";
for (var i = 0; i < arr.length - 1; i++) { //遍历到倒数第二个数据
str += arr[i] + "|";
}
console.log(str + arr[arr.length - 1]); //再把最后一个数据拼接上
var num = parseInt(prompt("班级人数是:")); //输入班级人数:3
var score = new Array(num); //设定数组大小为输入的班级人数
for (var i = 0; i < num; i++) {
score[i] = parseInt(prompt("第" + (i + 1) + "个人的成绩是:")); //依次输入成绩 10、20、30
}
console.log(score); //Array(3)
var sum = 0;
var max = score[0];
var min = score[0];
for (var j = 0; j < score.length; j++) {
sum += score[j];
if (max < score[j]) {
max = score[j];
}
if (min > score[j]) {
min = score[j];
}
}
console.log("总分数是:" + sum); //60
console.log("最大值是:" + max); //30
console.log("最小值是:" + min); //10
console.log("平均值是:" + sum / score.length); //20
5. 重点:冒泡排序
arr.length-1 |
50 |
40 |
30 |
20 |
10 |
arr.length-1-i |
第一轮 |
40 |
30 |
20 |
10 |
50 |
比较四次 |
第二轮 |
30 |
20 |
10 |
40 |
|
比较三次 |
第三轮 |
20 |
10 |
30 |
|
|
比较两次 |
第四轮 |
10 |
20 |
|
|
|
比较一次 |
var arr = [50, 20, 30, 10, 40];
//循环控制比较的轮数
for (var i = 0; i < arr.length - 1; i++) {
//循环控制每一轮交换的次数
for (var j = 0; j < arr.length - 1 - i; j++) {
//交换
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr); //结果:Array(5) 10 20 30 40 50
三、函数
function 函数名(参数) {
//执行代码
}
1. 参数
形参和实参
2. 返回值
function add(x, y) {
var sum = x + y;
console.log(sum);
}
add(10, 20); //结果:30
var sum = 0;
function getSum(n, m) {
for (var i = n; i <= m; i++) {
sum += i;
}
return sum; //如果没有返回值,那么结果是undefined
}
console.log(getSum(1, 100)); //调用函数,结果