JavaScript的各种循环

AiWork开发文档

在官方文档的基础上,进行重新排版和优化。
一个优雅的文档,对于开发体验的提升,是效果显著的。
永久域名:aiwork.wiki

循环

  • for – 循环代码块一定的次数
  • for/in – 循环遍历对象的属性
  • while – 当指定的条件为 true 时循环指定的代码块
  • do/while – 同样当指定的条件为 true 时循环指定的代码块

For 循环

将代码块执行指定的次数

特点:先判断再执行,与while相同

for (语句 1; 语句 2; 语句 3) {
    被执行的代码块
}

语句 1 (代码块)开始前执行
语句 2 定义运行循环(代码块)的条件
语句 3 在循环(代码块)已被执行之后执行

for (var i=0; i<5; i++) {
      logd(i);
}

从上面的例子中,您可以看到:

Statement 1 在循环开始之前设置变量 (var i=0)。
Statement 2 定义循环运行的条件(i 必须小于 5)。
Statement 3 在每次代码块已被执行后增加一个值 (i++)。

For/In 循环

遍历对象的属性

For/In语句用于对数组或者对象的属性进行循环操作。
For/In循环中的代码每执行一次,就会对数组或者对象的属性进行一次操作。

var person={fname:"Bill",lname:"Gates",age:56}; 
for (x in person)  // x 为属性名
{
    logd(person[x]);
}

For/Of 循环

可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM NodeList 对象)、Generator 对象,以及字符串。

JavaScript 原有的for-in循环,只能获得对象的键名,不能直接获取键值。ES6 提供for…of循环,允许遍历获得键值

EasyClick是基于ES5的,支持部分ES6的语法

//数组操作
var arr = ['a', 'b', 'c', 'd'];

for (let a in arr) {
    logd(a); // 0 1 2 3
}

for (let a of arr) {
    logd(a); // a b c d
}

while 循环

只要指定条件为 true,循环就可以一直执行代码块

特点:先判断后执行

while (条件)
{
    需要执行的代码
}

while循环()中的表达式,运算结果可以是各种类型,但是最终都会转为真假,转换规则如下。

  • Boolean:true为真,false为假;
  • String:空字符串为假,所有非空字符串为真;
  • Number:0为假,一切非0数字为真;
  • null/Undefined/NaN:全为假;
  • Object:全为真。
while (i<5)
{
    logd("The number is " + i );
    i++;
}

i 如果您忘记增加条件中所用变量的值,该循环永远不会结束。这可能导致程序进入死循环

do/while 循环

do/while 循环是 while 循环的变体。
该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。

特点:先执行再判断,即使初始条件不成立,do-while循环至少执行一次,也就是说do-while循环比while循环多执行一次。

do
{
    需要执行的代码
}
while (条件);

下面的例子使用 do/while 循环。该循环至少会执行一次,即使条件为 false 它也会执行一次,因为代码块会在条件被测试前执行:

do
{
    x=x + "The number is " + i + "<br>";
    i++;
}
while (i<5);

i 别忘记增加条件中所用变量的值,否则循环永远不会结束!

break 和 continue

break 语句用于跳出循环。
break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话):

for (i=0;i<10;i++)
{
    if (i==3)
    {
        break;
    }
    logd("The number is " + i);
}

continue 用于跳过循环中的一个迭代。
如果出现了指定的条件,然后继续循环中的下一个迭代。

for (i=0;i<=10;i++)
{
    if (i==3) continue;
    x=x + "The number is " + i + "<br>";
}

d 对于while、do-while循环,continue之后执行的语句,是循环条件判断;
因此,使用这两个循环时,必须将continue放到 i++ 之后使用,否则continue将跳过 i++进入死循环。

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » JavaScript的各种循环

企业级大数据智能营销管理系统

了解详情