js 04
1.3 获取数组中的元素
索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-toIv9Mkk-1605490125734)(E:/长沙黑马/03-JavaScript基础 - 代码和作业/JavaScript基础第04天/4-笔记/images/图片1.png)]
数组可以通过索引来访问、设置、修改对应的数组元素,可以通过“数组名[索引]”的形式来获取数组中的元素。
// 定义数组
var arrStus = [1,2,3];
// 获取数组中的第2个元素
alert(arrStus[1]);
注意:如果访问时数组没有和索引值对应的元素,则得到的值是undefined
1.4 遍历数组
-
数组遍历
把数组中的每个元素从头到尾都访问一次(类似学生的点名),可以通过 for 循环索引遍历数组中的每一项
var arr = [1, 2, 3, 4, true] //获取个别数组
console.log(arr[4]);//获取对应的数组号
1.5 获取数组的长度并且遍历
数组的长度:默认情况下表示数组中元素的个数
使用“数组名.length”可以访问数组元素的数量(数组长度)。
var arr1 = ['唱歌', '篮球', 'reop', '跳舞', ]
for (var i = 0; i < arr1.length; i++) {
console.log(arr1[i]);
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lfdJvlWK-1605490125746)(C:\Users\李猜\AppData\Roaming\Typora\typora-user-images\1600238124400.png)]
1.6 数组里面相加最大值,以及求平均值
<script>
var arr = [1, 2, 3, 4, 5, 5, 6, 7777]
var str = 0; //求和的变量
var nuy = 0; //求平均值的变量
for (var i = 0; i < arr.length; i++) {
str = str + arr[i] //加的是数组里的元素arr[i]不是计数器
}
nuy = str / arr.length
console.log(str); //和的值
console.log(nuy); //平均值
</script>
1.7数组中求最大值
<script>
var arr = [11, 44, 666, 33, 77, 3]
var max = arr[0];
var str = 0;
for (var i = 0; i < arr.length; i++) {
str += arr[i]
if (arr[i] > max) {
max = arr[i]
}
}
console.log('该数组的和是' + str);
console.log('该数组里的最大值为' + max);
</script>
1.8 数组转换为字符串
<script>
var arr = ['英特尔', '高通',
'AMD', '英伟达', '麒麟海思', '台积电'
];
var ttr = '';
var str = '★';
for (var i = 0; i < arr.length; i++) {
ttr = ttr + arr[i] + str;
}
console.log(ttr);
</script>
###1.9 数组中新增元素
数组中可以通过以下方式在数组的末尾插入新元素:如果里面要添加的数组里面没有此类,则添加数组,如果有的话就是替换
<script>
var arr = ['北京市', '上海市', '天津市']
arr[3] = '重庆市' //新赠数组
console.log(arr);
</script>
2.0使用for循环给数组里添加值
<script>
var arr = []// 1、声明一个空数组
// 2、循环中的计数器i可以作为数组元素存入。
// 3、由于数组的索引号是从0开始的, 因此计数器从0
for (var i = 0; i < 1000; i++) {
//arr=i 不要直接给数组名赋值否则以前的元素都没了
arr[i] = i + 1
}
console.log(arr);
</script>
2.1 筛选数组
// 方法2:
var arr = [22, 33, 66, 44, 55, 1, 3, 5, 7, 8]
var arr1 = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= 20) {
//新数组索引号 丛0开始 依次递增
arr1[arr1.length] = arr[i]
j++;
}
}
console.log(arr1);
2.2 数组翻转
<script>
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
var arr1 = [];
for (var i = arr.length - 1; i >= 0; i--) {
arr1[arr1.length] = arr[i]
}
console.log(arr1);
</script>
2.3 冒泡排序
<script>
//冒泡排序
var arr = [5, 4, 3, 2, 1];
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 str = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = str;
}
}
}
console.log(arr);
</script>
2.2 函数的使用
声明函数
// 声明函数
function 函数名() {
//函数体代码
}
function sKt() { //申明函数,sKt()是函数名
alert('你好啊') //函数表达式
}
-
function 是声明函数的关键字,必须小写
-
由于函数一般是为了实现某个功能才定义的, 所以通常我们将函数名命名为动词,比如 getSum
调用函数
sKt() //调用函数 调用函数必须要有小括号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3HtuQaMG-1605490125749)(C:\Users\李猜\AppData\Roaming\Typora\typora-user-images\1600253540021.png)]
-
调用的时候千万不要忘记添加小括号
-
口诀:函数不调用,自己不执行
注意:声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码。
-
2.3 函数的参数
函数参数语法
-
形参:函数定义时设置接收调用时传入
-
实参:函数调用时传入小括号内的真实数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RUvl8fyK-1605490125753)(E:/长沙黑马/03-JavaScript基础 - 代码和作业/JavaScript基础第04天/4-笔记/images/图片3.png)]
参数的作用 : 在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。
函数参数的运用:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7a7KjyhV-1605490125756)(C:\Users\李猜\AppData\Roaming\Typora\typora-user-images\1600254742551.png)]
// 带参数的函数声明 function 函数名(形参1, 形参2 , 形参3...) { // 可以定义任意多的参数,用逗号分隔 // 函数体 } // 带参数的函数调用 函数名(实参1, 实参2, 实参3...);
- 调用的时候实参值是传递给形参的
- 形参简单理解为:不用声明的变量
- 实参和形参的多个参数之间用逗号(,)分隔
函数形参和实参数量不匹配时
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cYIVCmpw-1605490125758)(E:/长沙黑马/03-JavaScript基础 - 代码和作业/JavaScript基础第04天/4-笔记/images/图片4.png)]
注意:在JavaScript中,形参的默认值是undefined。
小结:
- 函数可以带参数也可以不带参数
- 声明函数的时候,函数名括号里面的是形参,形参的默认值为 undefined
- 调用函数的时候,函数名括号里面的是实参
- 多个参数中间用逗号分隔
- 形参的个数可以和实参个数不匹配,但是结果不可预计,我们尽量要匹配
2.4 函数的返回值
return 语句
返回值:函数调用整体代表的数据;函数执行完成后可以通过return语句将指定数据返回 。
<script> function res() { return '猴哥猴哥你真了不得'; } res() console.log(res()); </script>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t6gH29s9-1605490125760)(C:\Users\李猜\AppData\Roaming\Typora\typora-user-images\1600255806814.png)]
-
4.函数的返回值
4.4函数没有return返回undefined
函数都是有返回值的
1.如果有return 则返回return后面的值
2.如果没有return 则返回undefined