for循环

  1、for有三个表达式:①声明循环变量;②判断循环条件;③更新循环变量;三个表达式之间,用;分割,

for循环三个表达式都可以省略,但是两个“;”缺一 不可。

2、for循环的执行特点:先判断再执行,与while相同  

3、for循环三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||连接,第一三部分用逗号分割;

for(var num = 1;num<10;num++){
console.log(num);//1,2,3,4,5,6,7,8,9
}

while循环

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

  ①Boolean:true为真,false为假;
  ②String:空字符串为假,所有非空字符串为真;
  ③Number:0为假,一切非0数字为真;
  ④null/Undefined/NaN:全为假;
  ⑤Object:全为真。

var num = 1;//1、声明循环变量

while (num<10){//2、判断循环条件;
console.log(num);//3、执行循环体操作;
num++;//4、更新循环变量;
}

do-while循环

while循环特点:先判断后执行;

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

var num = 10;

do{
console.log(num);//10 9 8 7 6 5 4 3 2 1 0
num--;
}while(num>=0); console.log(num);//-1

循环的嵌套

      外层循环控制行
      内层循环控制列
      循环的嵌套:解决多行多列的结构

for(var j=1;j<9;j++){
for(var i=0;i<j+1;i++){
document.write("*");
}
document.write("<br>");
}

遍历方法

for - in

for - in语句用于对数组或者对象的属性进行循环操作。

for - in循环中的代码每执行一次,就会对数组或者对象的属性进行一次操作。

let obj={'name':'programmer','age':'22','height':'180'};
for(let i in obj){
console.log(i,obj[i])
}

for - of

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

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

数组操作:

 var arr = ['a', 'b', 'c', 'd'];

        for (let a in arr) {
console.log(a); // 0 1 2 3
} for (let a of arr) {
console.log(a); // a b c d
}

类似数组的对象操作:

        // 字符串
var str = "hello"; for (let s of str) {
console.log(s); // h e l l o
} // DOM NodeList对象
let paras = document.querySelectorAll("p"); for (let p of paras) {
p.classList.add("test");
} // arguments对象
function printArgs() {
for (let x of arguments) {
console.log(x);
}
}
printArgs('a', 'b');// 'a' 'b'

循环控制语句

1、break:跳出本层循环,继续执行循环后面的语句。
    如果循环有多层,则break只能跳出一层。
      2、continue:跳过本次循环剩余的代码,继续执行下一次循环。
    ①对与for循环,continue之后执行的语句,是循环变量更新语句i++;
    ②对于while、do-while循环,continue之后执行的语句,是循环条件判断;
    因此,使用这两个循环时,必须将continue放到i++之后使用,否则continue将跳过 i++进入死循环。

 for(var i=0;i<10;i++){
if(i == 5){
break;
}
console.log(i);//0,1,2,3,4
} for(var i=0;i<10;i++){
if(i == 5){
continue;
}
console.log(i);//0,1,2,3,4,6,7,8,9
}

  

js中的循环方式及各种遍历的方法的更多相关文章

  1. js中的循环

    js中的循环是我们经常要用到的,现在进行一些归纳. 一.javascript种的循环. 1.循环对象 var o = { name: 'Jack', age: 20, city: 'Beijing' ...

  2. java和js中for循环的区别

    java中for循环,先执行语句后循环 for (int i=1;i<10;i++){ for(int b=1;b<=i;b++){ System.out.print(b+"*& ...

  3. js中的循环语句

    js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) {    //statements;} var a=1,b=0; whil ...

  4. js中for循环的研究

    转自:http://blog.csdn.net/lushuaiyin/article/details/8541500 <html> <body> <b><ce ...

  5. js中页面刷新和页面跳转的方法总结

    .js中cookie的基本用法简介 2009-12-15 js中页面刷新和页面跳转的方法总结 文章分类:Web前端 关键字: javascript js中页面刷新和页面跳转的方法总结 1.histor ...

  6. js中的回调函数的理解和使用方法

    js中的回调函数的理解和使用方法 一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为 ...

  7. js中页面刷新和页面跳转的方法总结 [ 转自欢醉同学 ]

    .js中cookie的基本用法简介 2009-12-15 js中页面刷新和页面跳转的方法总结 文章分类:Web前端 关键字: javascript js中页面刷新和页面跳转的方法总结 1.histor ...

  8. js中for循环遍历的写法

    众所周知,for循环是编程中必不可少的知识点:那么如何高效的写出循环呢? 我们要先知道for循环的基础样式是由自有变量自增自减和if判组成的: 1 for(条件){ 2 执行语句 3 } 而for循环 ...

  9. JS中的循环嵌套 BOM函数

    [嵌套循环特点]                           外层循环转一次,内层循环转一圈              外层循环控制行数,内层循环控制每行元素个数             [做 ...

随机推荐

  1. ASP.NET Core Identity自定义数据库结构和完全使用Dapper而非EntityFramework Core

    前言 原本本节内容是不存在的,出于有几个人问到了我:我想使用ASP.NET Core Identity,但是我又不想使用默认生成的数据库表,想自定义一套,我想要使用ASP.NE Core Identi ...

  2. java volatile关键字作用及使用场景

    1. volatile关键字的作用:保证了变量的可见性(visibility).被volatile关键字修饰的变量,如果值发生了变更,其他线程立马可见,避免出现脏读的现象.如以下代码片段,isShut ...

  3. 【Java例题】2.1复数类

    1.定义复数类,包括实部和虚部变量.构造方法. 加减乘除方法.求绝对值方法和显示实部.虚部值的方法. 然后编写一个主类,在其主方法中通过定义两个复数对象来 显示每一个复数的实部值.虚部值和绝对值, 显 ...

  4. Java小白进阶之值传递-引用传递

    class ClassA{ int value;//成员变量 } public class TestClassA{ public static void main(String args[]){ in ...

  5. byte数组和正数BigInteger之间的相互转换

    旧代码 public static void main(String[] args) { SecureRandom random = new SecureRandom(); byte[] key = ...

  6. 一文了解:Redis的AOF持久化

    Redis的AOF持久化 每当Redis-Server接收到写数据时,就把命令以文本形式追加到AOF文件里,当重启Redis服务时,AOF文件里的命令会被重新执行一次,重新恢复数据.当AOF过大时将重 ...

  7. Python基础总结之初步认识---class类的继承(终)。第十六天开始(新手可相互督促)

    最近生病了,python更新要结束了,但是这才是真正的开始.因为后面要更新的是UnitTest单元测试框架,以及后续的Requests库.在后续的笔记会补充一些python的其他细节笔记.我想是这样的 ...

  8. Python依赖包整体迁移方法

    1.新建site-packages目录,进入到site-packages目录下: 2.在site-packages目录下执行pip freeze >requirements.txt: 3.查看r ...

  9. 理解Go协程与并发

    协程 Go语言里创建一个协程很简单,使用go关键字就可以让一个普通方法协程化: package main import ( "fmt" "time" ) fun ...

  10. 零拷贝Zero copy-linux and java

    背景-几种拷贝方式 方式1:Copying in Two Sample System Calls read(file, tmp_buf, len); write(socket, tmp_buf, le ...