文档章节

JavaScript的循环

青慕
 青慕
发布于 2017/09/07 17:42
字数 480
阅读 4
收藏 0
点赞 0
评论 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
博文 14
码字总数 6563
作品 0
贵阳
程序员
前端开发指南:ES6的生成器和迭代器

     ES6为JavaScript语言带来了许多新特性。其中两个特性,生成器和迭代器,极大地改变了我们在更复杂的前端代码中编写特定函数的方式。   虽然他们之间的关系很好,但他们实际上做的...

webstack前端栈 ⋅ 04/19 ⋅ 0

一篇文章读懂JavaScript的EventLoop

JavaScript的单线程 众所周知JavaScript程序是单线程的执行,也就是说,同一时刻只能做一件事,这也是由于JavaScript本身就是为了浏览器而生,主要用途是用户交互和操作dom,为什么是单线程?...

阳光的记忆 ⋅ 05/10 ⋅ 0

来,哥教你提升逼格——EventLoop

开门见山,提升逼格从EventLoop开始!!! 毋庸置疑,大家都很了解js是一门单线程语言,这也就说明JS无法进行多线程,但是JS中异步的功能完全可以模拟多线程,而且效果还杠杠滴。当然,如果想...

小浪哥 ⋅ 05/25 ⋅ 0

【前端工程师手册】JavaScript作用域拾遗

【前端工程师手册】JavaScript作用域拾遗 昨天总结了一些作用域的知识【前端工程师手册】JavaScript之作用域,但是发表完发现忘记了一些东西,今天拾个遗。 昨天说到了JavaScript中没有块级作...

推荐码发放 ⋅ 05/17 ⋅ 0

四月前端知识集锦(每月不可错过的文章集锦)

目前自己组建的一个团队正在写一份面试图谱,将会在七月中旬开源。内容十分丰富,第一版会开源前端方面知识和程序员必备知识,后期会逐步写入后端方面知识。因为工程所涉及内容太多(目前已经...

夕阳 ⋅ 05/02 ⋅ 0

[译] JavaScript 如何工作:对引擎、运行时、调用堆栈的概述

原文地址: https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf PS: 好久没写东西了,最近一直在准备写一个自己的博客,最后一些技术方向已经敲定了,又可...

小烜同学 ⋅ 2017/11/12 ⋅ 0

如何有效实现前端压缩图片并上传功能

  随着现在手机的像素越来越高,很多照片动辄几兆甚至十几兆,上传后在服务器端压缩已经越来越不能满足当今的需求。这对于许多技术人员来说,处理起来这样的问题往往不知道该怎么下手,那么...

燚轩科技 ⋅ 04/23 ⋅ 0

前端基础(二):变量声明的6种方法

字数:2869 阅读时间:10分钟 最新的ECMAScript规范中,变量声明有var、function、let、const、import、class六种方法。 var 语法: var varname [= value1 [, vaname1[,valname2 ...]]]; 对...

老司机带你撸代码 ⋅ 06/09 ⋅ 0

[译] JavaScript 是如何工作的:对比 WebAssembly + 为什么在某些场景下它比 JavaScript 更合适

原文地址:How JavaScript works: A comparison with WebAssembly + why in certain cases it’s better to use it over JavaScript 原文作者:Alexander Zlatkov 译文出自:掘金翻译计划 本......

stormluke ⋅ 05/23 ⋅ 0

JS学习系列 07 - 标签声明(Label Statement)

1. 引言 假设有这么一道题: 我想要当 j = 2 的时候就退出所有的for语句,打印最后的 done ,你会怎么做? 可能有的同学会想到这样: 这样可以实现,但是又多写了一个函数,那么有没有别的办...

liuxuan ⋅ 05/30 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Gitee 生成并部署SSH key

1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public/private rsa key pair...# 三次回车即可生成 ssh key 查看你的 ...

晨猫 ⋅ 50分钟前 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部