JS第四天

1. 数组

1.1 数组的概念

​ 就是一组数据的集合 存储在单个变量下的优雅方式

1.2 创建数组的方式

  • 利用new 创建数组

    var arr = new Arrvar 数组名 = new Array()var arr = new Array();   // 创建一个新的空数组
    
  • 利用数组字面量创建数据 [ ]

//1. 使用数组字面量方式创建空的数组
var  数组名 = []//2. 使用数组字面量方式创建带初始值的数组
var  数组名 = ['小白','小黑','大黄','瑞奇'];
  • 数组的字面量是方括号 [ ]
  • 声明数组并赋值称为数组的初始化
  • 这种字面量方式也是我们以后最多使用的方式
  • 数组里的元素可以存放任意类型的数据,一般存放相同类型的数据

1.3 获取数组中的数组元素

数组的索引

索引 :用来访问数组元素的序号(数组下标从零开始)

var  数组名 = ['小白','小黑','大黄','瑞奇'];
     索引号:     0     1      2     3

数组可以通过索引来访问、设置、修改对应的数组元素,可以通过“数组名[索引]”的形式来获取数组中的元素

// 定义数组
var arrStus = [1,2,3];
// 获取数组中的第2个元素
alert(arrStus[1]); 

注意:如果访问时数组没有和索引值对应的元素,则得到的值是undefined

1.4 遍历数组

数组遍历

把数组中的每个元素从头到尾都访问一次(类似学生的点名),可以通过 for 循环索引遍历数组中的每一项

var arr = ['red','green', 'blue'];
for(var i = 0; i < arr.length; i++){
    console.log(arr[i]); //我们加的是数组元素 arr[i] 不是计数器 i
}

数组的长度

默认情况下表示数组中元素的个数

使用’数组名.length’可以访问数组元素的数量(数组长度)

var arrStus = [1,2,3];
alert(arrStus.length);  // 3

注意

此处数组的长度是数组元素的个数 ,不要和数组的索引号混淆。

当我们数组里面的元素个数发生了变化,这个 length 属性跟着一起变化

数组的length属性可以被修改:

如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空白元素;

如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除

数组中新增元素

数组[ 数组.length ] = 新数据;

 数组[ 数组.length ] = 新数据;
  1. 修改length长度
  2. 通过修改数组索引号,追加数组元素

注意 :不要给数组名赋值,否则里面的数组元素里就没了

1.5 数组中的冒泡排序

var arr = [1,0,5,6,3,9,22,49,20,11,78,9];
    // 创建一个新数组
    for(var i = 0; i <= arr.length-1; i++){
        // 外层循环控制比较几轮
        for(var j = 0; j <= arr.length-i-1; j++){
            // 内层循环控制每轮比较几个元素
            if(arr[j] > arr[j+1]){
                // 判断每一次比较的时候,两个数字的大小
                // arr[j]是第j个元素
                // arr[j+1]是第j+1 个元素               
                //如果j > j + 1, 把j 和j+i交换,也就是把相对大的值往后排序 也就是从小到大排序
                //如果j < j + 1, 把相对小的值往后排 也就是从大到小排序

                var temp = arr[j]; 
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
                // 利用第三方变量交换j 和j + 1 的值
            }
        }
    }
    console.log(arr);

2. 函数

函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用

2.1 函数的使用

声明函数
// 声明函数
function 函数名() {
    //函数体代码
}
  • function 是声明函数的关键字,必须小写

  • 由于函数一般是为了实现某个功能才定义的, 所以通常我们将函数名命名为动词,比如 getSum

调用函数
// 调用函数
函数名();  // 通过调用函数名来执行函数体代码
  • 调用的时候千万不要忘记添加小括号

注意:声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码。

​ 函数的封装类似于打包

例子:封装计算1-100累加和

/* 
   计算1-100之间值的函数
*/
// 声明函数
function getSum(){
  var sumNum = 0;// 准备一个变量,保存数字和
  for (var i = 1; i <= 100; i++) {
    sumNum += i;// 把每个数值 都累加 到变量中
  }
  alert(sumNum);
}
// 调用函数
getSum();

2.1函数的参数

形参:函数定义时设置接收调用时传入

实参:函数调用时传入小括号内的真实数据

函数参数的运用

// 带参数的函数声明
function 函数名(形参1, 形参2 , 形参3...) { // 可以定义任意多的参数,用逗号分隔
  // 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3...); 
  1. 调用的时候实参值是传递给形参的
  2. 形参简单理解为:不用声明的变量
  3. 实参和形参的多个参数之间用逗号(,)分隔

小结:

  1. 函数可以带参数也可以不带参数

  2. 声明函数的时候,函数名括号里面的是形参,形参的默认值为 undefined

  3. 调用函数的时候,函数名括号里面的是实参

  4. 多个参数中间用逗号分隔

  5. 形参的个数可以和实参个数不匹配,但是结果不可预计,我们尽量要匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值