js基础5-数组与循环结构

// 王者中有很多英雄,一个英雄有很多信息
  let name = '后羿';
  let gender = '男';
  let skill = '射箭';
  let ktc = '周日被我射熄火了,所以今天是周一';
  • 50多个英雄怎么办?很难,变量的数据太多了
  • 有没有一种简单的办法,将一个英雄的所有信息放到一个变量中?
  • 有:数组 array

数组:一个存储多个数据的集合(复合数据类型,属于对象的一种)

  • 定义数组:
    定义数组
    let 数组变量 = [按顺序存放数据,用逗号分隔,可以无限个];
    // 元素都有下标:从0开始,依次+1自增,不会间断
    使用数组(访问):下标访问
    数组变量[下标]
    // 定义数组
    let hy = ['后羿', '男', '射箭', '周日被我射熄火了,所以今天是周一'];
    //          0      1     2          3    
    // 数据在数组中:元素,数组中的元素又分为两个部分
    // 可见的数据:元素值,系统会自动生成一个不可见的下标(元素下标)
    console.log(hy);
    // 访问第一个元素:名字   下标为0
    console.log(hy[0]);
    // 访问最后一个元素:口头禅  下标为3
    console.log(hy[3]);

数组取值与赋值

  1. 取值:数组名[下标]
// 取第一个元素:
数组名[0]

// 取最后一个元素:
数组名[数组名.length - 1]
// 最后一个元素下标(最大下标) = 长度 - 1
// 如果下标超过数组最大下标,得到的是undefined
  1. 赋值:数组名[下标] = 值

如果下标有对应的值,会把原来的值覆盖
如果下标不存在,会给数组新增元素

数组长度

  • 1.获取数组的长度:数组名.length
  • 2.修改数组的长度会改变数组的元素数量:数组名.length = 值
  • 3.删除数组的最后一个元素:数组名.length--

数组另一种声明方式

数组的创建方式有两种:

  • 简洁方式:[]
  • 标准方式: new Array()

两种区别:

  • 它们最大的区别就是创建时如果数组的元素只有一个时 含义不同
  • 简洁方式:[10]; 代表数组长度为1,元素是10
  • 标准方式:new Array(10); 代表数组长度为10,没有元素


循环结构

循环结构作用:代码重复执行

  • for循环结构
    for循环语法:
    for( ①初始化条件 ; ②循环判定 ; ④循环条件变更 ){
        ③循环体:要重复执行的代码
    }

    ①:执行 1 次,第一次进入循环的时候会执行
    ②:执行 N + 1 次,N代表循环体执行的次数
    ③:执行 N 次
    ④:执行 N 次  N可以为0

    let num = 10
    for (let i = 0; i < num; i++) {
        document.write(i + '我爱你<br>');
    }
    // let i = 0 :初始化条件:控制次数的起点
    // i < num :条件有效性判定:true表示循环可以执行,false表示结束循环
    // document.write()是要重复执行的代码:for(里面的变量:i) 可以在{}使用(出了不能用)
    // i++ :改变条件(++i和i++没有区别)

for循环小练习点此处:for循环练习

循环控制

循环控制:语言的设计者考虑到代码有时候执行是没有次数限制(死循环),或者循环内部的逻辑是有可能错误,提供了一种在循环内部可以控制循环执行的方式

  • 循环控制有两种:

    1. continue:继续执行,continue以后的代码不执行了,重新开始下一次循环:for循环中,就是只进入跳到 i++

    2. break:终止循环,循环直接结束

  • 实际应用中:break比continue要多

    // 需求:要求用户输入一个数字(用户如果不是数字,继续来),如果是数字:输出
    for (; ;) {
        let num = prompt('请输入一个数字');
        // 判定
        if (isNaN(num)) {
            // 不是数字
            continue;   // 后面的代码不执行:重新开始下一个循环
        }
        // 输出数字
        document.write(num);
        break;      // 终止循环
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容