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;      // 终止循环
    }
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容