文档章节

JavaScript的循环

青慕
 青慕
发布于 2017/09/07 17:42
字数 480
阅读 4
收藏 0

1. 条件判断

JavaScript和java一样中使用if() { . . . } else { . . . } 来进行条件判断

多条件判断:通常我们把else if 连写在一起,来增加可读性。注意最后一个单独的else不要省略掉{}。

注意:if . . . else . . . 语句的执行特点是二选一,在多个if . . . else . . . 语句中,如果某个条件成立,则后续就不再继续判断了。

JavaScript把 null , undefined, 0 , Nan 和空字符串''视为 false,其他值一概视为 true。

2. 循环

for循环:

for循环最常用的地方是利用索引来遍历数组

var arr = ['apple','google','microsoft'];
var i,x;
for(i=0;i<arr.length;i++){
    x = arr[i];
    alert(x);
}

 

for循环的3个条件都是可以省略的,如果没有退出循环的判断条件,就必须使用break语句退出循环,否者就是死循环

var = 0;
for( ; ; ){
   if(x > 100){
       break; // 通过if判断来退出循环
   }
    x ++;
}

 

for循环的一个变体是for . . . in 循环,它可以把一个对象的所有属性依次循环出来

var o = {
    name: 'wuzao',
    age: 20,
    sex: '男'
}
for(var key in o){
     alert(key);  //  "name", "age", "sex"
}




// 过滤掉对象继承的属性, 用hasOwnProperty()来实现:
var o = {
    name: 'wuzao',
    age: 20,
    sex: '男'
}
for(var key in o){
     if(o.hasOwnProperty(key)){
       alert(key);  //  "name", "age", "sex"\
     }
}

 

由于Array也是对象,而它的每个元素的索引被视为对象的属性,所以for . . . in循环可以直接循环出Array的索引

var arr = ['a' , 'b' , 'c'];
for(var i in arr){
    alert(i);   // '0' ,'1' ,'2'
    alert(a[i]);   // 'a' ,'b' ,'c'
}

// 注意for . . . in对Array的循环得到的是String而不是Number。

 

while循环只有一个判断条件,条件满足,就不断循环,条件不满足是则退出循环。

do . . . while和while循环唯一的区别在于,不是在每次循环开始的时候判断条件,而是在每次循环完成的时候判断条件。

© 著作权归作者所有

共有 人打赏支持
青慕
粉丝 4
博文 15
码字总数 7496
作品 0
贵阳
程序员
私信 提问
《你不知道的JavaScript》系列分享专栏

《你不知道的JavaScript》系列分享专栏 你不知道的JavaScript”系列就是要让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途 《你不知道的JavaScrip...

开元中国2015
12/01
0
0
深入理解JavaScript之Event Loop

前言 最近阅读《高性能JavaScript》时,第六章谈到“通过定时器将JavaScript执行代码的控制权先让给浏览器用于更新UI状态,然后再将控制权交回给JavaScript代码,这样就可以使得页面更为流畅...

天天天天才樱木花道
06/29
0
0
JavaScript的基本使用

一、JavaScript的简单介绍   JavaScript是一种属于网络的脚本语言(简称JS),已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaS...

码农47
03/15
0
0
JavaScript 基础 --- (数据类型/循环/条件)

一、js 输出 1.window.alert() 警告框 2.document.write() 写到 HTML 文档中 3.innerHTML 写到 HTML 元素 4.console.log() 写到浏览器的控制台 二、js 语句与注释 1. ; (var a = 1;) ;表...

姜白告
06/19
0
0
这一次,彻底弄懂 JavaScript 执行机制

本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我。 不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给...

ssssyoki
10/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你...

honeymose
57分钟前
5
0
java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
23
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
18
0
my.ini

1

architect刘源源
今天
16
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部