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