for循环中gets_零基础学前端的第64天,JavaScript中的for循环。

零基础学前端的第64天,今天说一说js中的for循环,也是自己刚刚学到的知识。

话不多说,直接上内容。

假设我要给一排相同的盒子,都加一个点击事件该怎么做呢?

首先先获取到这些div盒子。

5f47ef7b2028a2aa620eed6f02e6f93e.png

当我们拿到这些盒子的控制权后,接下来给它添加事件。

ed17e7bd4cc088b47628bb7fefe5680e.png

因为有很多盒子,按顺序抓取序号是从0开始。为什么是0???,因为在计算机中,假如是五个盒子排列,它是从零开始排。0,1,2,3,4,用01234的顺序来表示12345个盒子。所以抓取顺序要从零开始。

但是这么写,你会发现,有很多重复的代码,只有哪里不同?只有抓取的序号不同,所以我们可以用for循环写。

1c293d3359f0e0e9f2ff92ac2601eedb.png

这行代码的i=0指的是,计次变量。i<10,指的是比较条件。i++,指的是递增每次增加一个。

因为我写了十个盒子,所以比较条件我写了i<10,表示当前十个盒子都具有点击的效果。如果我只让前五个有效果呢?那就是i<5。这个就代表只有前五个盒子有效果。

那么问题来了,为什么这么写,就表示有多少个盒子具有点击效果?

我们来分析一下。

代码是从上往下解析的,当解析到for循环这的时候,它会判断。

f4f37b02782880b901633cb3d7665455.png

我需要让第一个盒子具有点击效果,它的抓取序号为0,也就是到了i=0这一步。一对比,条件符合,那么继续进行下一步。下一步是什么?是比较条件。比较条件为i<10。一对比,抓取序号0,小于抓取序号10。ok,这第一个盒子抓取序号为0,通过。

接下来到了i++这一步,通过了我就加一。此时需要判断的是抓取序号为1,那么继续比较,小于10通过,好,这个结果留下,表示前两个盒子都可以有事件发生,只是还没写具体的事件。

通过以后,再加一,抓取序号为2,小于10吗?小于10,通过,再加一。直到抓取序号为10,那么小于10吗?不小于,不满足条件,那么循环到此结束。

现在这十个盒子都具有了添加事件的功能,那么我们直接加事件就OK了。

4b2663a452ec550b9931ffe94a251d9d.png

添加之后,这十个盒子就都具备了点击效果。

那么这里关于i<10这里呢,有的时候你可能写了好多盒子,我又不想去查数量,怎么办?那就直接把数改成div.length。也就是i

那么到这里呢,看似本期内容要结束了。

这时候,万恶的老板过来了,那个你,再改一改。我不想要第三个具有点击效果,其它正常。那么怎么做?

这时候就需要if上场了。

if(i===3){continue}

这行代码的意思就是,如果抓取序号为五,那么就不要这个,其它的继续。

好了,到了老板那里,我跟老板说改好了,老板看了下效果,思考了一下。

对我说。

这个,我觉得这样改不好,这样,我换个效果。第三个以后的盒子,包括第三个,都不要点击的效果了。辛苦一下,改一改。

那么......怎么改呢?

很简单,改个单词的事。把continue,改成break。这样,第三个和它后面的盒子就都没有效果了。

好了,这期的内容到此结束,我们下期再见,拜拜。

PS:整篇内容都搞完了,我才发现了一处问题。那个图片中的getElementByTagName少了一个字母。因为是好多个div,所以还要加个S代表好多,正确写法为:getElementsByTagName。问题不大,问题不大......谁都有......第一次............

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值