解读JavaScript中 For, While与递归的用法


Posted in Javascript onMay 07, 2013

for循环:

for(i=start; i<end; i++) {
}

while循环: (注意, 若条件一直为真, 则会进入死循环, 浏览器就hang掉)
while (condition) {
     //do something;
     //change condition;
}

递归:使用for循环做substring
function substring(all, start, end) {
    for(i=start; i<=end; i++) {
         console.log(all[i]);
    }
substring("eclipse", 1, 4);   //clip

使用递归实现substring
function substring(all, start, end) {
    if(start >= end) {
        return all[start];
    }
    else {
        return all[start] + substring(all, start+1, end);
    }
substring("eclipse", 1, 4);    //clip

使用for循环访问对象属性:

对于数组,字符串, 我们使用index []访问特定的值; 对于对象,也是一样使用[], 但我们会使用一个特殊的变量: propertyName

var person = {
    name: "Morgan Jones",
    telephone: "(650) 777 - 7777",
    email: "morgan.jones@example.com"
};
for (var propertyName in person) {
    console.log(propertyName + ":"+ person[propertyName]);
}

使用for循环, 查找数组内的数据:
var table = [
    ["Person",  "Age",  "City"],
    ["Sue",     22,     "San Francisco"],
    ["Joe",     45,     "Halifax"]
];
var i;
var rows=table.length;
for (r=0;r<rows;r++) {
    var c;
    var cells = table[r].length;
    var rowText = "";
    for (c=0;c<cells;c++) {
        rowText += table[r][c];
        if (c < cells-1) {
            rowText += "  ";
        }
    }
    console.log(rowText);
}

结果:
Person Age City

Sue 22 San Francisco

Joe 45 Halifax

--------------------------------------------------------------------------------

break:

使用break立刻退出循环, 适用于for和while循环.

Javascript 相关文章推荐
JS 有趣的eval优化输入验证实例代码
Sep 22 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
javascript基于HTML5 canvas制作画箭头组件
Jun 25 Javascript
基于EasyUI的基础之上实现树形功能菜单
Jun 28 Javascript
Vue数组更新及过滤排序功能
Aug 10 Javascript
JavaScript中使用Async实现异步控制
Aug 15 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
Dec 12 Javascript
JavaScript中EventLoop介绍
Jan 22 Javascript
前端MVVM框架解析之双向绑定
Jan 24 Javascript
详解开发react应用最好用的脚手架 create-react-app
Apr 24 Javascript
vue组件中的数据传递方法
May 14 Javascript
JS实现网页烟花动画效果
Mar 10 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
May 07 #Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
May 07 #Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
May 07 #Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
May 07 #Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
May 07 #Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
May 07 #Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
May 07 #Javascript
You might like
咖啡知识大全
2021/03/03 新手入门
php小偷相关截取函数备忘
2010/11/28 PHP
PHP代码审核的详细介绍
2013/06/13 PHP
php记录代码执行时间(实现代码)
2013/07/05 PHP
php使用mkdir创建多级目录入门例子
2014/05/10 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
PHP之预定义接口详解
2015/07/29 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
经验几则 推荐
2006/09/05 Javascript
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
Vue实现手机计算器
2020/08/17 Javascript
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
python中的内置函数getattr()介绍及示例
2014/07/20 Python
python里对list中的整数求平均并排序
2014/09/12 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
财务学生的职业生涯发展
2014/02/11 职场文书
《美丽的小路》教学反思
2014/02/26 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
创先争优个人承诺书
2014/08/30 职场文书
主持人大赛开场白
2015/05/29 职场文书
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫