提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
javascript基础--day4
前言
此篇内容主要为数组和函数。
一、数组
1、什么是数组、以及数组的创建方式
// 1.数组(Array) :就是一组数据的集合 存储在单个变量下的优雅方式
// 2.创建数组的方式
// 2.1 利用new Array创建数组
var arr = new Array(); // 创建1个空数组
// console.log(arr);
// 2.2 利用数组字面量创建数组 []
var arr1 = [] // 创建1个空数组
var arr2 = [1,2]
// 3. 什么是数组元素?数组里边的数据 1,2,3,4,5,6 数组元素必须以逗号隔开 数组元素的类型是任意类型
var arr3 = [1,2,3,4,5,6, 'asdas', true, false, [1,23]] //
console.log(arr3);
// 4. 获取数组元素 数组名[索引号] 索引号从0开始
2、访问数组元素
2.1、数组的索引号
// 1. 获取数组元素 数组名[索引号] 索引号从0开始
2.2、获取数组元素
// 6. 获取数组元素 格式 数组名[索引号] 索引号从 0开始
console.log(arr1);
console.log(arr1[2]);
console.log(arr1[3]);
var arr2 = ['迪丽热巴', '古丽扎娜', '佟丽丫丫'];
console.log(arr2[0]);
console.log(arr2[1]);
console.log(arr2[2]);
console.log(arr2[3]); // 因为没有这个数组元素 所以输出的结果是 undefined
2.3、遍历数组元素
遍历数组就是将数组元素从头到尾访问一次。
// 遍历数组:就是把数组的元素从头到尾访问一次
var arr = ['red', 'green', 'blue'];
for (var i = 0; i <= 3; i++) {
console.log(arr[i]);
}
// 1. 因为我们的数组索引号从0开始 ,所以 i 必须从 0开始 i < 3
// 2. 输出的时候 arr[i] i 计数器当索引号来用
2.4、数组的长度
// 数组长度 数组名.length
var arr = ['关羽', '张飞', '马超', '赵云', '黄忠', '刘备', '姜维', 'pink'];
for (var i = 0; i < 7; i++) {
console.log(arr[i]);
}
console.log(arr.length);
2.5、给数组增加元素
// 1. 新增数组元素 修改length长度
var arr = ['red', 'green', 'blue'];
console.log(arr.length);
arr.length = 5; // 把我们数组的长度修改为了 5 里面应该有5个元素
console.log(arr);
console.log(arr[3]); // undefined
console.log(arr[4]); // undefined
// 2. 新增数组元素 修改索引号 追加数组元素
var arr1 = ['red', 'green', 'blue'];
arr1[3] = 'pink';
console.log(arr1);
arr1[4] = 'hotpink';
console.log(arr1);
arr1[0] = 'yellow'; // 这里是替换原来的数组元素
console.log(arr1);
arr1 = '有点意思';
console.log(arr1); // 不要直接给 数组名赋值 否则里面的数组元素都没有了
3、练习案例
3.1、数组翻转
// 将数组 ['red', 'green', 'blue', 'pink', 'purple'] 的内容反过来存放
var arr = ['red', 'green', 'blue', 'pink', 'purple', 'hotpink'];
var newArr = [];
for (var i = arr.length-1 ; i >= 0 ; i--) {
newArr[newArr.length] = arr[i];
}
console.log(newArr);
3.2、数组冒泡排序
利用双重for循环,外层for循环控制对比的趟数,内层for循环控制每趟交换的次数。
//冒泡排序
//var arr = [5, 4, 3, 2, 1];
var arr = [4, 1, 2, 3, 5];
for (var i = 0; i <= arr.length - 1; i++) {
// 外层循环管趟数
for (var j = 0; j <= arr.length - i - 1; j++) {
// 里面的循环管 每一趟的交换次数
// 内部交换2个变量的值 前一个和后面一个数组元素相比较
if (arr[j] < arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
二、函数
1.函数的基本使用
函数的使用分为两步:声明函数和调用函数;
1.1、什么是函数
函数就是封装了一段可以被重复执行的代码块;
1.2、函数的声明方法
// function 函数名() {
// // 函数体
// }
function sayHi() {
console.log('hi~~');
}
1.3、函数的调用
// 2. 调用函数
// 函数名();
sayHi();
// 调用函数的时候千万不要忘记加小括号
2. 函数的参数
2.1 形参
在定义函数的时候,小括号里的值,类似于一个变量;
// 1. 函数可以重复相同的代码
// function cook() {
// console.log('酸辣土豆丝');
// }
// cook();
// cook();
// 2. 我们可以利用函数的参数实现函数重复不同的代码
// function 函数名(形参1,形参2...) { // 在声明函数的小括号里面是 形参 (形式上的参数)
// }
// 函数名(实参1,实参2...); // 在函数调用的小括号里面是实参(实际的参数)
// 3. 形参和实参的执行过程
function cook(aru) {
// 形参是接受实参的 aru = '酸辣土豆丝' 形参类似于一个变量
console.log(aru);
}
cook('酸辣土豆丝');
cook('大肘子');
// 4. 函数的参数可以有多个,也可以没有个数不限
2.2 实参
调用函数时小括号里的值;
3. 函数的返回值
3.1 return
我们函数只是实现某种功能,最终的结果需要返回给函数的调用者函数名+() 通过return 实现的;
//1. 函数的返回值格式
// function 函数名() {
// return 需要返回的结果;
// }
// 函数名();
// (1) 我们函数只是实现某种功能,最终的结果需要返回给函数的调用者函数名() 通过return 实现的
// (2) 只要函数遇到return 就把后面的结果 返回给函数的调用者 函数名() = return后面的结果
// 2. 代码验证
function getResult() {
return 666;
}
getResult(); // getResult() = 666
console.log(getResult());
总结
本文主要介绍了数组和函数的相关内容;